[Ajuda] Atualizar dialog
#1

Entгo galera, eu estou desenvolvendo um sistema de concessionбria, estou na parte de vender o veнculo, mas quando eu vendo o veнculo vai tudo certo como eu desejo, remove o arquivo .ini da pasta concessionбria etc...
Sу que eu digito o comando de aparecer os veнculos que tenho o veнculo vendido continua na dialog sу que sem funзгo, sу relogando para atualizar a dialog, alguйm me dar uma mгozinha de como eu faзo pra atualizar a dialog sem precisar relogar ? pq no meu caso quando o player for vender o veнculo e quiser comprar outro no mesmo momento vai ficar um veнculo a mais, sу que sem funзгo, sу relogando para remove-lo...
Desculpa o texto, grato desde jб.

Код:
stock DeletePlayerConce( playerid, SlotID )
{
    new s[ 128 ];
    PConce_ResetVars( playerid );
    for( new i; i < MAX_PLAYER_CONCE; ++i )
	{
	    format( s, 128, "Concessionaria/%s_CONC_%d.ini", PlayerName( playerid ), SlotID );
	    switch( DOF2_GetInt( s, "vc_modelo" ))
	    {
		    case 400: vPreco[ playerid ] = PRECO_LANDSTALKER;
		    case 401: vPreco[ playerid ] = PRECO_BRAVURA;
	    }
	    SendClientMessage( playerid, COLOR_VERMELHOCLARO, "•~~~~~~~~~~~~[ Veнculo concessionбria vendido ]~~~~~~~~~~~~•" );
	    format( gStr, sizeof( gStr ), "[ > ] Veнculo %s vendido, valor recebido $%d.", vNome[ DOF2_GetInt( s, "vc_modelo" )-400 ], ( vPreco[ playerid ] * 70 / 100 ));
	    SendClientMessage( playerid, COLOR_BRANCO, gStr );
	    SendClientMessage( playerid, COLOR_VERMELHOCLARO, "•~~~~~~~~~~~~[ Veнculo concessionбria vendido ]~~~~~~~~~~~~•" );
	    sGivePlayerCash( playerid, vPreco[ playerid ] * 70 / 100 );
	    
        PlayerConceModelo[ playerid ][ i ][ ConceID ] = -1;
	    PlayerConceConectado[ playerid ][ i ][ ConceID ] = 1;
	    DOF2_FileExists( s );
	    DOF2_RemoveFile( s );
	    //fremove( s );
	
	    format( gFile, sizeof( gFile ), "Contas/%s.ini", PlayerName( playerid ));
	    DOF2_SetInt( gFile, "Veiculo_Conce", 0 );
	    pInfo[ playerid ][ Veiculo_Conce ] = 0;
	}
	return 1;
}
Reply
#2

E o dialog?
Reply
#3

Consegui resolver a dialog att, agr o problema й assim exemplo: eu tenho 2 veнculos, se eu vender o segundo, tudo bem, agr se eu vender o primeiro a funзгo do modelo pega no segundo tambйm;

Quote:

stock DeletePlayerConce( playerid, SlotID )
{
new s[ 128 ];
PConce_ResetVars( playerid );
for( new i; i < MAX_PLAYER_CONCE; ++i )
{
format( s, 128, "Concessionaria/%s_CONC_%d.ini", PlayerName( playerid ), SlotID );
switch( DOF2_GetInt( s, "vc_modelo" ))
{
// Preзos veнculos
}
SendClientMessage( playerid, COLOR_VERMELHOCLARO, "•~~~~~~~~~~~~[ Veнculo concessionбria vendido ]~~~~~~~~~~~~•" );
format( gStr, sizeof( gStr ), "[ > ] Veнculo %s vendido, valor recebido $%d.", vNome[ DOF2_GetInt( s, "vc_modelo" )-400 ], ( vPreco[ playerid ] * 70 / 100 ));
SendClientMessage( playerid, COLOR_BRANCO, gStr );
//SendClientMessage( playerid, COLOR_VERMELHOCLARO, "•~~~~~~~~~~~~[ Veнculo concessionбria vendido ]~~~~~~~~~~~~•" );
sGivePlayerCash( playerid, vPreco[ playerid ] * 70 / 100 );

PlayerConceModelo[ playerid ][ SlotID ][ ConceID ] = -1;
PlayerConceConectado[ playerid ][ SlotID ][ ConceID ] = 1;
DOF2_FileExists( s );
DOF2_RemoveFile( s );
//fremove( s );

format( gFile, sizeof( gFile ), "Contas/%s.ini", PlayerName( playerid ));
DOF2_SetInt( gFile, "Veiculo_Conce", 0 );
pInfo[ playerid ][ Veiculo_Conce ] = 0;
}
return 1;
}

Reply
#4

Entгo...
Quando eu coloco a funзгo "PlayerConceModelo[ playerid ][ SlotID ][ ConceID ] = -1;", a dialog atualiza, porйm se eu tiver mais de um veнculo, essa funзгo pegarб em todos, o que eu faзo pra quando remover o .ini a dialog atualizar ?
Reply
#5

Quote:
Originally Posted by Welconha
Посмотреть сообщение
Consegui resolver a dialog att, agr o problema й assim exemplo: eu tenho 2 veнculos, se eu vender o segundo, tudo bem, agr se eu vender o primeiro a funзгo do modelo pega no segundo tambйm;
Percebeu que vocк criou um loop inъtil? Vocк nгo estб utilizando, certo?

PHP код:
for( new iMAX_PLAYER_CONCE; ++)
{
    
formats128"Concessionaria/%s_CONC_%d.ini"PlayerNameplayerid ), SlotID );
    switch( 
DOF2_GetInts"vc_modelo" ))
    {
    
// Preзos veнculos
    

Dei uma olhada no cуdigo e nгo consegui identificar o uso de "i"
Apenas isso basta:

PHP код:
formats128"Concessionaria/%s_CONC_%d.ini"PlayerNameplayerid ), SlotID );
switch( 
DOF2_GetInts"vc_modelo" ))
{
    
// Preзos veнculos

Reply
#6

Й, percebi isso ainda agr, antes da sua postagem, o que resultou na att da dialog foi a funзгo "PlayerConceModelo[ playerid ][ SlotID ][ ConceID ] = -1;", sу que quando eu tenho mais de um veнculo, ela pega em todos, sacou ?
Quero saber como att a dialog ao remover o .ini
Reply
#7

Quote:
Originally Posted by Welconha
Посмотреть сообщение
Й, percebi isso ainda agr, antes da sua postagem, o que resultou na att da dialog foi a funзгo "PlayerConceModelo[ playerid ][ SlotID ][ ConceID ] = -1;", sу que quando eu tenho mais de um veнculo, ela pega em todos, sacou ?
Quero saber como att a dialog ao remover o .ini
Se vocк puder postar mais cуdigos, ajuda, mas vou dar uma olhada mais detalhada aqui.
Reply
#8

Nгo sei como explicar mais detalhadamente, o incrivel й que quando tenho 2 veнculos se eu vender o 2, o 1 funciona normalmente, agr se eu vender o 1, o 2 fica com a funзгo PlayerConceModelo -1 tambйm, e й necessario que essa funзгo esteja com o modelo do veнculo para poder conectar etc...
Eu poderia usar tirar a funзгo "PlayerConceModelo[ playerid ][ SlotID ][ ConceID ] = -1;", porйm o player iria ter quer relogar para o nome do veнculo sumir da dialog, queria arrumar um jeito de o player nгo precisar relogar para atualizar a dialog, e o jeito й colocar essa funзгo "PlayerConceModelo[ playerid ][ SlotID ][ ConceID ] = -1;" sу que quando ela й usada no veнculo 1, pega no veнculo 2 tbm e o veнculo 2 fica inъtil.
Reply
#9

Quote:
Originally Posted by Welconha
Посмотреть сообщение
PHP код:

if( listitem == // Vender
{
if(    
PlayerConceConectadoplayerid ][ slotc ][ ConceID ] != )
{
formatgStr128"[ x ] Seu veнculo concessionбria {FFFFFF}%s {FF0000}nгo estб conectado !"GetVehicleModelNamePlayerConceModeloplayerid ][ slotc ][ ConceID ] ));
SendClientMessageplayeridCOLOR_ERROgStr );
SendClientMessageplayeridCOLOR_ERRO"[ x ] Portanto vocк nгo pode modifica-lo !" );
ShowPlayerConcsplayerid );
return 
1;
}
DeletePlayerConceplayeridslotc );

PConce_ResetVars й para desconectar/destroy, e o comando й em dialog que chama a funзгo DeletePlayerConce que no caso vende.
Da onde estб vindo o valor de slotc? Cara, й mais fбcil vocк postar o cуdigo inteiro kk Principalmente as partes que envolvem o modelo..
Reply
#10

Tenta ae..
PHP код:
stock DeletePlayerConce(playeridSlotID)
{
    new 
s[128];
    
PConce_ResetVars(playerid);
    
format(s128"Concessionaria/%s_CONC_%d.ini"PlayerName(playerid), SlotID);
    if (!
DOF2_FileExists(s)) return SendClientMessage(playerid, -1"Arquivo nгo existe.");
    switch (
DOF2_GetInt(s"vc_modelo"))
    {
        
//Preзos veнculos
    
}
    
SendClientMessage(playeridCOLOR_VERMELHOCLARO"•~~~~~~~~~~~~[ Veнculo concessionбria vendido ]~~~~~~~~~~~~•");
    
format(gStrsizeof(gStr), "[ > ] Veнculo %s vendido, valor recebido $%d."vNome[DOF2_GetInt(s"vc_modelo") - 400], (vPreco[playerid] * 70 100));
    
SendClientMessage(playeridCOLOR_BRANCOgStr);
    
sGivePlayerCash(playeridvPreco[playerid] * 70 100);
    
PlayerConceModelo[playerid][SlotID][ConceID] = -1;
    
PlayerConceConectado[playerid][SlotID][ConceID] = 1;
    
DOF2_RemoveFile(s);
    
format(gFilesizeof(gFile), "Contas/%s.ini"PlayerName(playerid));
    if (!
DOF2_FileExists(gFile)) return 1;
    
DOF2_SetInt(gFile"Veiculo_Conce"0);
    
pInfo[playerid][Veiculo_Conce] = 0;
    
DOF2_SaveFile();
    return 
1;

Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)