29.03.2019, 02:44
Estou fazendo gamemode unico com sistema de ORGS que eu achei aqui e estou adaptando ela pro meu sevidor para deixa-lo unico;
Porem estou com um bug, assim que chama o cujo "stock demitir" ele da warning sscanf2 ( no console ) e fica dando respawn no jogador demitido.
Pelo que notei quando tem 2 jogadores, quando 1 deles da /pedircontas ou quando й demitido, ( chamado a stock
demitir ) ele da o warning sscanf2, e o jogador fica dando respawn sem parar.
OBS: ja atualizei todas as includes juntamente com os plugins, troquei a server-samp pelo atual, corriji .cfg.
Funзгo:
Stock demitir:
Comando /pedircontas
Comando /demitir
Porem estou com um bug, assim que chama o cujo "stock demitir" ele da warning sscanf2 ( no console ) e fica dando respawn no jogador demitido.
Pelo que notei quando tem 2 jogadores, quando 1 deles da /pedircontas ou quando й demitido, ( chamado a stock
demitir ) ele da o warning sscanf2, e o jogador fica dando respawn sem parar.
OBS: ja atualizei todas as includes juntamente com os plugins, troquei a server-samp pelo atual, corriji .cfg.
Funзгo:
Stock demitir:
Код HTML:
stock Demitir(id) { new arquivo[100], _string[100], orgid = Player[id][pMembro]; format(arquivo, sizeof arquivo, "InfoOrg/Org%i.ini", orgid); Player[id][pMembro] = 0; Player[id][pCargo] = 0; if(strcmp(Org[orgid][Lider], Nome(id), true) == 0) { SetPlayerSkin(id, 23); strmid(Org[orgid][Lider], "Ninguem", 0 , strlen("Ninguem"), 128); DOF2::SetString(arquivo, "Lider", "Ninguem"); SpawnPlayer(id); DOF2::SaveFile(); return 1; } if(strcmp(Org[orgid][SubLider], Nome(id), true) == 0) { SetPlayerSkin(id, 23); strmid(Org[orgid][SubLider], "Ninguem", 0, strlen("Ninguem"), 128); DOF2::SetString(arquivo, "SubLider", "Ninguem"); SpawnPlayer(id); DOF2::SaveFile(); return 1; } for(new i = 1; i < MAX_MEMBROS; ++i) { if(strcmp(Membros[orgid][i], Nome(id), true) == 0) { format(_string, sizeof _string, "Membro%i", i); strmid(Membros[orgid][i], "Ninguem", 0, strlen("Ninguem"), 128); DOF2::SetString(arquivo, _string, "Ninguem"); DOF2::SaveFile(); } } SetPlayerSkin(id, 23); SpawnPlayer(id); return 1; }
Код HTML:
CMD:pedircontas(playerid) { format(BlueRed, sizeof(BlueRed), "{FFFFFF}[{00FF00} + {FFFFFF}] Vocк pediu conta da org {00FFFF}%s.", OrgName); BRS::(playerid, -1, BlueRed); Demitir(playerid); return 1; }
Код HTML:
CMD:demitir(playerid,params[]) { new id, motivo[64]; if(Player[playerid][pMembro] == 0) { format(BlueRed, sizeof(BlueRed), "{FFFFFF}[{FF0000} x {FFFFFF}] Vocк nгo faz parte de uma organizaзгo ."); BRS::(playerid, -1,BlueRed); return 1; } if(Player[playerid][pCargo] < 4) { format(BlueRed, sizeof(BlueRed), "{FFFFFF}[{FF0000} x {FFFFFF}] Somente lideres e sub-lideres podem fazer demiзхes."); BRS::(playerid, -1,BlueRed); return 1; } if(sscanf(params, "us[64]", id, motivo)) { format(BlueRed, sizeof(BlueRed), "{FFFFFF}[{00FF00} ? {FFFFFF}] Use /demitir [id] [motivo]."); BRS::(playerid, -1,BlueRed); return 1; } if(!IsPlayerConnected(id)) { format(BlueRed, sizeof(BlueRed), "{FFFFFF}[{FF0000} x {FFFFFF}] ID offline ou invalido."); BRS::(playerid, -1,BlueRed); return 1; } if(id == playerid) { format(BlueRed, sizeof(BlueRed), "{FFFFFF}[{FF0000} x {FFFFFF}] Use '/pedircontas' caso queira se demitir !"); BRS::(playerid, -1,BlueRed); return 1; } if(Player[id][pMembro] != Player[playerid][pMembro]) { format(BlueRed, sizeof(BlueRed), "{FFFFFF}[{FF0000} x {FFFFFF}] Este player pertence a outra organizaзгo."); BRS::(playerid, -1,BlueRed); return 1; } format(BlueRed, sizeof(BlueRed), "{FFFFFF}[{FF0000} + {FFFFFF}] Vocк demitiu {00FFFF}%s{FFFFFF} da organizaзгo, Motivo: {00FFFF}%s{FFFFFF}.", Nome(id), motivo); BRS::(playerid, -1, BlueRed); format(BlueRed, sizeof(BlueRed), "{FFFFFF}[{FF0000} x {FFFFFF}] Vocк foi demitido da organizaзгo por {00FFFF}%s{FFFFFF}, Motivo: {00FFFF}%s{FFFFFF}.", Nome(playerid), motivo); BRS::(id, -1, BlueRed); Demitir(id); return 1; }