Jump to content

Rafa23Alzira

Miembro
  • Contador contenido

    588
  • Ingreso

  • Última visita

  • Días ganados

    34

Mensajes publicados por Rafa23Alzira

  1. El de cambiar el gold lo habria hecho así (no lo e probado)

    int guild_change_gold(lua_State* L)
    {
    	if(!lua_isnumber(L,1) || !lua_isnumber(L,2))
    	{
    		lua_pushboolean(L,false);
    		return 0;
    	}
    
    	int guild = lua_tonumber(L,1);
    	int gold = lua_tonumber(L,2);
    	
    	
    	if (gold + pkGuild->GetGuildMoney() < 0)
    	{
    		lua_pushboolean(L,false);
            return 0;
    	}
    
    	DBManager::instance().Query("UPDATE guild%s SET gold=%d WHERE id = %s", get_table_postfix(), gold, guild);
    	lua_pushboolean(L,true);
    	return 1;
    }
    
    En quest sería

    guild.change_gold(pc.get_guild(),cantidad)
    

    Si no me sirve la manera 1 probaré la tuya, gracias ^^

  2. Bueno chicos, como de c++ no tengo ni puta idea pregunto esto antes de testearlo, ya que me tiro 5 o 6 horas para compilar el source xd

     

    He creado dos funciones para recibir y cambiar el yang del gremio, instantáneamente, ya que por función en questlib y eso no se cambia. Quiero saber si alguien que sepa un poco me puede decir si está bien, se puede hacer de otra manera mejor o cualquier cosa al respecto. Gracias.

     

    guild.get_gold (recibir el yang)

    	int guild_get_gold(lua_State* L)
    	{
    		luaL_checknumber(L, 1);
    
    		CGuild * pkGuild = CGuildManager::instance().FindGuild((DWORD) lua_tonumber(L, 1));
    
    		if (pkGuild)
    			lua_pushnumber(L, pkGuild->GetGuildMoney());
    		else
    			lua_pushnumber(L, 0);
    
    		return 1;
    	}
    

    guild.change_gold (cambiar el yang)

    	int guild_change_gold(lua_State * L)
    	{
    		int gold = (int)lua_tonumber(L, -1);
    		
    		CGuild * pkGuild = CGuildManager::instance().FindGuild((DWORD) lua_tonumber(L, 1));
    
    		if (gold + pkGuild->GetGuildMoney() < 0)
    			sys_err("QUEST wrong ChangeGold %d (now %d)", gold, pkGuild->GetGuildMoney());
    		else{
    			/*DBManager::instance().SendMoneyLog(MONEY_LOG_QUEST, pkGuild->GetName(), gold);*/
    			DBManager::instance().Query("UPDATE guild%s SET gold=%d WHERE name = %s", get_table_postfix(), gold, pkGuild->GetName());
    
    		}
    
    		return 0;
    	}
    
  3. Teniendo tu el titulo de "Quest Master"

     

    deberias saber que eso no funcionara correctamente ni xq dios lo quiera xD

     

    xq al hablar con el npc luego cambias pj o vas a otro mapa y cambiara el state automaticamente sin esperar el tiempo...................

    A ver hippy colgao' que te he dejado hecha una idea, no ves los 3 puntitos en el when para que completes?

     

    when login or levelup or logout with get_time() > pc.getqf("tiempo") begin

     

    Antes de querer hacerte el guay fíjate en las cosas.

×
×
  • Crear nuevo...