28.12.2012, 00:09
Olб, eu estou criando um servidor e preciso de um scripter, se alguйm poder me ajudar, sу mandar msg privada ou me adicionar no skype: leleuh-ms...
Antes disso, eu gostaria que alguйm pudesse me ajudar com esses problemas:
O comando /vida do meu servidor tem o simples problema, o trabalhador da SAMU nгo precisa de autorizaзгo da pessoa para curб-la, ele simplesmente cura ela e cobra 1 taxa, assim podendo roubar a todos.
Script:
Ele usa /vida ID Quantidade e pode roubar a todos.
~~
Agora o comando /sacar, o problema dele й que se pode sacar de qualquer lugar do servidor, vocк nгo precisa estar no banco.
Script:
Outra parte do script, nгo sei se faz parte:
PS: Outra coisa, os players sу podem pegar armas no "Equipar" da HQ apуs 1h de jogo, como retira isso?
Atenciosamente, Leleuh.
Antes disso, eu gostaria que alguйm pudesse me ajudar com esses problemas:
O comando /vida do meu servidor tem o simples problema, o trabalhador da SAMU nгo precisa de autorizaзгo da pessoa para curб-la, ele simplesmente cura ela e cobra 1 taxa, assim podendo roubar a todos.
Script:
Код:
if(strcmp(cmd, "/vida", true) == 0) { if(IsPlayerConnected(playerid)) { tmp = strtok(cmdtext, idx); GetPlayerName(playerid, sendername, sizeof(sendername)); new location = PlayerInfo[playerid][pLocal]; if(!strlen(tmp)) { if(location != 255) { if(location < 99) { if(HouseInfo[location][hArm] == 1 && IsACop(playerid)) { format(string, sizeof(string), "* %s pega seu colete.", PlayerName(playerid)); ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE); Controle(playerid, 0); GetPlayerPos(playerid, Unspec[playerid][sPx], Unspec[playerid][sPy], Unspec[playerid][sPz]); Unspec[playerid][sPint] = PlayerInfo[playerid][pInt]; Unspec[playerid][sLocal] = PlayerInfo[playerid][pLocal]; XXAirBreak[playerid] += 3;SetPlayerPos(playerid,1527.5,-12.1,1002.0); PlayerInfo[playerid][pLocal] = 255; SetPlayerInterior(playerid,99); Spectate[playerid] = 257; } else if(HouseInfo[location][hHel] == 1) { VidaDoCara[playerid] = 2; AXITERCOLETE[playerid] = 3; SetPlayerHealth(playerid,100.0); PlayerInfo[playerid][pDoenca] = 0; SetPlayerDrunkLevel (playerid, 0); PlayerPlaySound(playerid, 1150, 0.0, 0.0, 0.0); SendClientMessage(playerid, COLOR_LIGHTBLUE,"Vocк foi curado."); } else { SendClientMessage(playerid, COLOR_GREY,"Este lugar nao tem lugar de se curar."); } return true; } else if(location == 101)//Restaurant { VidaDoCara[playerid] = 2; AXITERCOLETE[playerid] = 3; SetPlayerHealth(playerid,100.0); SetPlayerArmour(playerid,100.0); PlayerInfo[playerid][pDoenca] = 0; SetPlayerDrunkLevel (playerid, 0); PlayerPlaySound(playerid, 1150, 0.0, 0.0, 0.0); SendClientMessage(playerid, COLOR_LIGHTBLUE,"Vocк foi curado."); } else if(location == 102 && IsACop(playerid))//Police Armorry { VidaDoCara[playerid] = 2; AXITERCOLETE[playerid] = 3; SetPlayerHealth(playerid,100.0); format(string, sizeof(string), "* %s Foi Curado.", PlayerName(playerid)); ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE); Controle(playerid, 0); GetPlayerPos(playerid, Unspec[playerid][sPx], Unspec[playerid][sPy], Unspec[playerid][sPz]); Unspec[playerid][sPint] = PlayerInfo[playerid][pInt]; Unspec[playerid][sLocal] = PlayerInfo[playerid][pLocal]; XXAirBreak[playerid] += 3;SetPlayerPos(playerid,1527.5,-12.1,1002.0); PlayerInfo[playerid][pLocal] = 255; SetPlayerInterior(playerid,99); Spectate[playerid] = 257; } } else { SendClientMessage(playerid, COLOR_GRAD2, "USE: /vida [id] [preзo]"); return true; } } giveplayerid = ReturnUser(tmp); tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_GRAD2, "USE: /vida [id] [price]"); return true; } moneys = strval(tmp); if(moneys < 1 || moneys > 5000) { SendClientMessage(playerid, COLOR_GREY, " O Preзo nгo pode passar de 5000 !"); return true; } if (giveplayerid == playerid) { SendClientMessage(playerid, COLOR_GRAD1, " Vocк nгo pode se curar!"); return true; } if (IsPlayerConnected(giveplayerid)) { if(giveplayerid != INVALID_PLAYER_ID) { GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer)); GetPlayerName(playerid, sendername, sizeof(sendername)); if(gTeam[playerid] == TEAM_CYAN||PlayerInfo[playerid][pMembro]==4||PlayerInfo[playerid][pLider]==4||PlayerInfo[playerid][pMembro]==31||PlayerInfo[playerid][pLider]==31)//model { new Veh = GetPlayerVehicleID(playerid); if(IsAnAmbulanceCar(Veh)|| IsAMedicosSFCar(Veh)) { format(string, sizeof(string), "~y~Voce foi curado ~n~~w~%s~n~~g~R$%d", giveplayer,moneys); GameTextForPlayer(playerid, string, 5000, 1); GivePlayerMoney(playerid,moneys); GivePlayerMoney(giveplayerid,-moneys); new hp = 0; if(PlayerInfo[playerid][pPainPerk] > 0) { VidaDoCara[giveplayerid] = 2; AXITERCOLETE[giveplayerid] = 3; hp = 20 * PlayerInfo[playerid][pPainPerk]; hp += 100; SetPlayerHealth(giveplayerid, hp); } else { VidaDoCara[giveplayerid] = 2; AXITERCOLETE[giveplayerid] = 3; hp = 100; SetPlayerHealth(giveplayerid, 100); PlayerInfo[giveplayerid][pDoenca] = 0; } new colete = 0; if(PlayerInfo[playerid][pPainPerk] > 0) { VidaDoCara[giveplayerid] = 2; AXITERCOLETE[giveplayerid] = 3; colete = 0 * PlayerInfo[playerid][pPainPerk]; colete += 100; SetPlayerArmour(giveplayerid, colete); } else { VidaDoCara[giveplayerid] = 2; AXITERCOLETE[giveplayerid] = 3; colete = 100; SetPlayerArmour(giveplayerid, 100); PlayerInfo[giveplayerid][pDoenca] = 0; } PlayerPlaySound(playerid, 1150, 0.0, 0.0, 0.0); PlayerPlaySound(giveplayerid, 1150, 0.0, 0.0, 0.0); format(string, sizeof(string), "Vocк foi curado, %d de saude e %d de colete por -R$%d",hp,colete,moneys); SendClientMessage(giveplayerid, COLOR_LIGHTBLUE,string); if(PlayerInfo[giveplayerid][pDoenca] > 0) { PlayerInfo[giveplayerid][pDoenca] = 0; SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, "* Vocк nгo estб infectado com nenhuma doenзa, por causa de cuidados medicos!"); } } else { SendClientMessage(playerid, COLOR_GRAD1, " Vocкs dois precisam estar no veнculo!"); return true; } } else { SendClientMessage(playerid, COLOR_GRAD1, "Vocк nгo estб autorizado a usar o comando!"); return true; } } } else { SendClientMessage(playerid, COLOR_GRAD1, " Esse jogador estб offline"); } } return true; }
~~
Agora o comando /sacar, o problema dele й que se pode sacar de qualquer lugar do servidor, vocк nгo precisa estar no banco.
Script:
Код:
if(strcmp(cmd, "/sacar", true) == 0) { if(IsPlayerConnected(playerid)) { if(IsPlayerConnected(playerid)) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_GRAD2, "USE: /sacar [Quantidade]"); format(string, sizeof(string), " Voce tem R$%d na sua conta!.", PlayerInfo[playerid][pConta]); SendClientMessage(playerid, COLOR_GRAD3, string); return true; } new cashdeposit = strval(tmp); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_GRAD2, "USE: /sacar [Quantidade]"); format(string, sizeof(string), " Voce tem R$%d na sua conta!.", PlayerInfo[playerid][pConta]); SendClientMessage(playerid, COLOR_GRAD3, string); return true; } if (cashdeposit > PlayerInfo[playerid][pConta] || cashdeposit < 1) { SendClientMessage(playerid, COLOR_GRAD2, " Voce nгo tem tudo isso na sua conta! !"); return true; } ConsumingMoney[playerid] = 1; new saldo; saldo = PlayerInfo[playerid][pConta]; GivePlayerMoneyEx(playerid,cashdeposit); PlayerInfo[playerid][pConta] = saldo-cashdeposit; format(string, sizeof(string), "Server Vocк Sacou R$%d da sua conta. Total: R$%d ", cashdeposit,PlayerInfo[playerid][pConta]); SendClientMessage(playerid, COLOR_YELLOW, string); return true; }else { SendClientMessage(playerid, COLOR_GREY, " Voce nгo esta no banco ou em um Caixa Eletronico!"); } } return true; }
Код:
if(dialogid == DIALOG_CAIXA_ELETRONICO_INPUT) { if(response == 0) { PlayerPlaySound(playerid,1057,0.0,0.0,0.0);CaixaEletronico_Ok[playerid] = 0;return true; } if(response >= 1) { PlayerPlaySound(playerid,1057,0.0,0.0,0.0); if(CaixaEletronico_Ok[playerid] != 3) { if(CaixaEletronico_Ok[playerid] == 1) { format(stringe, sizeof(stringe), "/sacar %d", strval(inputtext)); OnPlayerCommandText(playerid,stringe); } else if(CaixaEletronico_Ok[playerid] == 2) { if (strval(inputtext) > GetPlayerMoneyEx(playerid) || strval(inputtext) < 1) { CaixaEletronico_Ok[playerid] = 0; SendClientMessage(playerid, COLOR_GRAD2, " Voce nгo tem tudo isso na sua conta!"); return true; }
PS: Outra coisa, os players sу podem pegar armas no "Equipar" da HQ apуs 1h de jogo, como retira isso?
Atenciosamente, Leleuh.