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:
Código:
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;
}
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:
Código:
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;
}
Outra parte do script, não sei se faz parte:
Código:
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.