Hi bin auf der Suche nach einem ganz einfachen /pay [ID] [betrag] Script Script, wo man einfach nur in Script einfügen kann. Kann mir wer dabei helfen?
Wäre Nett.
Gruß Andy
Hi bin auf der Suche nach einem ganz einfachen /pay [ID] [betrag] Script Script, wo man einfach nur in Script einfügen kann. Kann mir wer dabei helfen?
Wäre Nett.
Gruß Andy
Warum erstellst du es nicht mit ocmd?
Er hat garnicht gesagt, dass er es NICHT mit ocmd macht.
@RalunoSAMP Vielleicht sagtst du uns mal mit was du den Befehl gescriptet haben möchtest?
MfG Waoler
les dich in dmcd und sscanf ein dann ist es ganz einfach
würde ca. so aussehen
public OnPlayerCommandText(playerid, cmdtext[])
dcmd(pay,3,cmdtext);
dcmd_pay(playerid,params[])
{
new pid,betrag;
if(sscanf(params,"ui",pid,betrag)
{
GivePlayerMoney(playerid,-Betrag);
GivePlayerMoney(pid,Betrag)
return 1;
}
}
könnte man vllt noch verschönern mit zb SendClientMessage(playerid,GELB,"Du hast id xy Betrag gegeben");
hoffe konnte dich auf die richtige SPur leiten
MfG SuperQueckSilber
if(strcmp(cmd, "/pay", true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD1, "FEHLER: /pay [playerid] [Betrag]");
return 1;
}
//giveplayerid = strval(tmp);
giveplayerid = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD1, "FEHLER: /pay [playerid] [Betrag]");
return 1;
}
moneys = strval(tmp);
if(moneys < 1 || moneys > 30000)
{
SendClientMessage(playerid, COLOR_GRAD1, "Der Betrag muss zwischen $1 und $30000 sein!");
return 1;
}
if(moneys < 1 || moneys > 90000)
{
if(SpielerInfo[playerid][pAge] >= 5)return SendClientMessage(playerid, COLOR_GRAD1, "Du brauchst ein höheres Level.");
}
if (IsPlayerConnected(giveplayerid))
{
if(giveplayerid != INVALID_PLAYER_ID)
{
if(SpielerInfo[giveplayerid][pLocal] == 106)
{
SendClientMessage(playerid, COLOR_GRAD1, "Der Befehl ist in dieser Lage nicht erlaubt.");
return 1;
}
if (ProxDetectorS(5.0, playerid, giveplayerid))
{
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
playermoney = PlayerMoney[playerid];
if (moneys > 0 && playermoney >= moneys)
{
ConsumingMoney[giveplayerid] = 1;
PlayerMoney[playerid] = PlayerMoney[playerid]-moneys;
PlayerMoney[giveplayerid] = PlayerMoney[giveplayerid]+moneys;
format(string, sizeof(string), " Du hast %s(Spieler: %d), $%d gegeben.", giveplayer,giveplayerid, moneys);
PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
SendClientMessage(playerid, COLOR_GRAD1, string);
format(string, sizeof(string), " Du hast $%d von %s(Spieler: %d) bekommen.", moneys, sendername, playerid);
SendClientMessage(giveplayerid, COLOR_GRAD1, string);
format(string, sizeof(string), "%s hat $%d dem Spieler %s gegeben.", sendername, moneys, giveplayer);
PayLog(string);
if(moneys >= 1000000)
{
ABroadCast(COLOR_YELLOW,string,1);
}
PlayerPlaySound(giveplayerid, 1052, 0.0, 0.0, 0.0);
format(string, sizeof(string), "* %s nimmt Geld aus seiner Tasche und gibt es %s.", sendername ,giveplayer);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, " Ungültiger Betrag.");
}
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, " Du musst näher an dem Spieler sein!");
}
}//invalid id
}
else
{
format(string, sizeof(string), " %d ist kein aktiver Spieler.", giveplayerid);
SendClientMessage(playerid, COLOR_GRAD1, string);
}
}
return 1;
}
MfG
g3ne
ich würde lieber , wie ich dmcd&sscanf , benutzen weil das zeilen spart ôO
Ja, jeder so wie er es besser kann..
Ich komme halt so besser zurecht.
MfG