14.04.2018, 18:09
bom galera, estava eu na minha rotina de script diario criando alguns systema de intereзгo de players quando me surgiu uma duvida...
qual melhor forma de criar as variveis neste caso, crei uma interaзгo por dialog simples й rapida para tentar explicar na pratica a minha duvida vamos lб:
no topo criei as seguintes variaveis
entгo galera aqui que estб minha duvida, o codigo irб funcionar perfeitamente quando 1 pessoa usar , mas se 2 pessoas usarem ao mesmo tempo serб que as variaveis amigos nгo dariam bugs? talvez eu deveria criar uma variavel local mas iria dar erro na segunda dialog porque a chave destruiria a variavel e nгo daria certo...
~ caso alguem saibe uma maneira mais correta de guardar esse id na variavel amigo, sem que der bugs com outros player comenta ai pfvr obg!
OBS; esse e apenas um code exemplo, o foco й a duvida.
qual melhor forma de criar as variveis neste caso, crei uma interaзгo por dialog simples й rapida para tentar explicar na pratica a minha duvida vamos lб:
no topo criei as seguintes variaveis
PHP код:
new Amigo, money, string[128], name[MAX_PLAYER_NAME];
Quote:
defini minhas dialogs #define DIALOG_AMIGO 1 #define DIALOG_AMIGO_2 2 |
Quote:
e chamei a minha dialog. COMMAND : sendmoneytofriend( playerid ) { ShowPlayerDialog(playerid, DIALOG_AMIGO, DIALOG_STYLE_INPUT, "SA-MP DIALOG ", " digite o id do seu amigo ", "Enviar", "Cancelar"); return 1; } |
~ caso alguem saibe uma maneira mais correta de guardar esse id na variavel amigo, sem que der bugs com outros player comenta ai pfvr obg!
Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { if( dialogid == DIALOG_AMIGO ) { if ( response ) { GetPlayerName(playerid, name, sizeof(name)); Amigo = strval ( inputtext ) ; printf(" seu amigo й o id: %i ", Amigo ); ShowPlayerDialog(playerid, DIALOG_AMIGO_2, DIALOG_STYLE_INPUT, "SA-MP DIALOG ", " digite uma quantia para\nenviar ao seu amigo ", "Enviar", "Cancelar"); } return 1; } if( dialogid == DIALOG_AMIGO_2 ) { if ( response ) { money = strval(inputtext); format(string, sizeof(string), "voce recebeu: %i de seu amigo: %s",money,name); // will output something like 09:45:02 SendClientMessage(playerid, -1, string); printf("%s enviou %i $ para o id: [ %i ]", name, money, Amigo ); GivePlayerMoney(Amigo, 200); GivePlayerMoney(playerid, -200); } return 1; } return 0; }