Estou criando um servidor e necessito de scripter. -
Leleuh_MG - 28.12.2012
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:
Код:
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:
Код:
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:
Код:
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.
Re: Estou criando um servidor e necessito de scripter. -
MustangGT - 28.12.2012
o caso do bando tente assim:
pawn Код:
if(strcmp(cmd, "/sacar", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(IsPlayerConnected(playerid))
{
if(IsPlayerInRangeOfPoint(playerid, 2.0, CORDENADA) return SendClientMessage(playerid, Vermelho, "Voce nao esta no banco");
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;
}
Eu acrescentei isso:
pawn Код:
if(IsPlayerInRangeOfPoint(playerid, 2.0, CORDENADA) return SendClientMessage(playerid, Vermelho, "Voce nao esta no banco");
Voce tem que colocar a coordenada de onde fica seu banco substituindo onde ta escrito CORDENADA
Espero ter ajudado
Re: Estou criando um servidor e necessito de scripter. -
Leleuh_MG - 28.12.2012
Nгo deu nem pra compilar da maneira que vocк mandou...
Entгo tentei:
Код:
if(strcmp(cmd, "/sacar", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(IsPlayerConnected(playerid))
{
if(IsPlayerInRangeOfPoint(playerid, 2.0, 1461.8320,-1010.3407,26.8438))
{
SendClientMessage(playerid, COLOR_GRAD2, "Voce nгo esta no banco ou em um Caixa Eletronico!");
}
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
}
return true;
}
A coordenada estando errada ou nгo, jб sei que tem algo errado pois estб dando erro...
Re: Estou criando um servidor e necessito de scripter. -
Obama - 28.12.2012
Cara, tenta isso... e a propуsito, esse seu mode de criar comandos й ineficiente, tente atualiza-lo.
http://pastebin.com/mea3PvMx
Re: Estou criando um servidor e necessito de scripter. -
MustangGT - 28.12.2012
qual erro ?
Re: Estou criando um servidor e necessito de scripter. -
Leleuh_MG - 28.12.2012
Eu sу queria saber onde ficaria a coordenada, por quк sou novo no GTA, era scripter de tibia, mas nгo sei muito, por exemplo, no meu gm diz que a coordenada do banco й essa:
1461.8320,-1010.3407,26.8438, 52
Ai em cima existem 3 combinaзхes de nъmeros divididos por vнrgula, eu nгo sei se esses todos sгo a coordenada ou se sу um deles, pois eu acho que й isso que estб atrapalhando agora pois o comando jб estб arrumado.
@EDIT:
Eu jб arrumei...
pawn Код:
if(strcmp(cmd, "/sacar", true) == 0)
{
if(!IsPlayerInRangeOfPoint(playerid, 2.0, 2308.628,-13.293,26.342) && !IsPlayerInRangeOfPoint(playerid, 2.0, 957.714,-48.806,1000.716) && !IsPlayerInRangeOfPoint(playerid, 2.0, 2327.247,6.724,26.138))
return SendClientMessage(playerid, COLOR_GRAD2, "Voce nгo esta no banco ou em um Caixa Eletronico!");
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;
GivePlayerMoneyEx(playerid,cashdeposit);
PlayerInfo[playerid][pConta] = PlayerInfo[playerid][pConta]-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 1;
}
Eu fiz com que possa usar coordenadas diferentes, e para encontrб-las eu peguei 1 veнculo, fui atй o ponto do banco, saltei dele e digitei /dl , assim mostra a coordenada do veнculo, e deu certo.
@EDITІ:
Se alguйm poder me ajudar no comando /vida eu agradeзo.
Re: Estou criando um servidor e necessito de scripter. -
Obama - 28.12.2012
Cara, assim pra pegar posiзхes no SA:MP, existe o comando padrгo "/save [comentario]", para pega-las va em "Usuarios/Documentos/GTA San Andreas User Files/SAMP/savedpositions.txt", ele salva a skin, e as posiзхes.
Funciona com carros tambйm..
Re: Estou criando um servidor e necessito de scripter. -
Leleuh_MG - 28.12.2012
Й eu nгo sabia dessa..
Fiz daquela maneira, demorou mas deu certo...
Agora falta ajuda no /vida se alguйm poder...
Re: Estou criando um servidor e necessito de scripter. -
DiReCt hIt - 28.12.2012
Quote:
Originally Posted by Leleuh_MG
Olб, eu estou criando um servidor e preciso de um scripter
|
Se vocк esta criando, vocк nгo precisa de scripter .
Re: Estou criando um servidor e necessito de scripter. -
LeMoi - 28.12.2012
Bem, se vc estб a pensar em criar um servidor sem ter algum conhecimento simplesmente esqueзa.