also ich machs mal entwas kürzer^^:
n ich suche ein /givecash CMD mit strok, welches spielern erlaut geld untereinander zu geben. man darf KEIN minus geld geben. desweiteren hab ich strok net mehr, wäre toll wenns mir jemand gibts
MfG
Kitarou
also ich machs mal entwas kürzer^^:
n ich suche ein /givecash CMD mit strok, welches spielern erlaut geld untereinander zu geben. man darf KEIN minus geld geben. desweiteren hab ich strok net mehr, wäre toll wenns mir jemand gibts
MfG
Kitarou
Nehm lieber erst gar kein strtok weil es für heutige scriptverhältnisse sche**e ist.
>> dcmd + sscanf
hää warum is das scheiße ??? womit scriptest du denn??? :O?
Ich benutzt dcmd + sscanf.Es ist viel besser als die strtok - Variante die leider zu weit verbreitet ist.
Wenn du dir das Tutorial durchließt wirst du sehen das diese Methode besser ist.Hier wäre auch der Code wie man es damit schreiben könnte.
dcmd_givemoney(playerid,params[]){
new
giveid,
cash;
if (sscanf(params, "dd",giveid,cash)) {
return SendClientMessage(playerid,COLOR_SYSTEM,"USAGE: /givemoney [playerid] [Amount]");
}
else if(!IsPlayerConnected(giveid)){
return SendClientMessage(playerid,COLOR_RED2,"Ungültige Spieler ID");
}
else if(playerid==giveid) {
return SendClientMessage(playerid,COLOR_RED,"Du kannst die selber kein Geld schicken!");
}
else if(cash>GetPlayerMoney(playerid) || cash<0){
return SendClientMessage(playerid,COLOR_GREY,"money1");
}
else {
GivePlayerMoney(playerid,-cash);
GivePlayerMoney(giveid,cash);
// Nachricht kannst ja selbst schreiben
}
return 1;
}
hi
Wie mache ich jetzt das da steht z.B. Du hast Halo 5022$ gegeben. beim anderen Du hast von Andi 5022$ bekommen.
mfg Halo
Dann machste das so.
Du musst die Farbe noch ändern.
dcmd_givemoney(playerid,params[]){
new
giveid,
PlayerName[MAX_PLAYER_NAME],
GivePlayerName[MAX_PLAYER_NAME],
string[20],
cash;
if (sscanf(params, "dd",giveid,cash)) {
return SendClientMessage(playerid,COLOR_SYSTEM,"USAGE: /givemoney [playerid] [Amount]");
}
else if(!IsPlayerConnected(giveid)){
return SendClientMessage(playerid,COLOR_RED2,"Ungültige Spieler ID");
}
else if(playerid==giveid) {
return SendClientMessage(playerid,COLOR_RED,"Du kannst die selber kein Geld schicken!");
}
else if(cash>GetPlayerMoney(playerid) || cash<0){
return SendClientMessage(playerid,COLOR_GREY,"money1");
}
else {
GivePlayerMoney(playerid,-cash);
GivePlayerMoney(giveid,cash);
GetPlayerName(playerid,PlayerName,sizeof(PlayerName));
GetPlayerName(giveid,GivePlayerName,sizeof(GivePlayerName));
format(string,sizeof(string),"Du hast von %s %d$ bekommen",PlayerName,cash);
SendClientMessage(giveid,FARBE,string);
format(string,sizeof(string),"Du gibts %s %d$",GivePlayerName,cash);
SendClientMessage(playerid,FARBE,string);
}
return 1;
}
thx kavkus
äh da steht
Du gibst 2$
Du hast von Andi 2$
Da fehlt der Name. Ich hab das genau so gemacht wie du es hast.
Hatte in der ersten Version ein PlayerName vergessen, mach das was jetzt drinne ist noma rein dan gehts
geht immer noch nicht
Du gibst 2$
Du hast von Andi 2$
steht so in game
Probier mal bei
new string[20];
die 20 in eine 30 zu ändern, dann testen
ich hab jetzt string[40]; jetzt gehts
thx zombie.modder
bei mir geht das ganze auch nicht ich bekomme immer das warning .
D:\Datenablage\Users\Ronny\Games\modded games\Grand Theft Auto San Andreas\gamemodes\bare.pwn(2592) : warning 219: local variable "waffe" shadows a variable at a preceding level
D:\Datenablage\Users\Ronny\Games\modded games\Grand Theft Auto San Andreas\gamemodes\bare.pwn(10976) : warning 203: symbol is never used: "dcmd_givemoney"
was hab ich falsch gemacht ?
ich hab den quelltext ganz unten in der pwn angefügt .
die Zeilen senden und Regeln lesen ewgig diese Doppel Poster
//edit möchtest du es mit DCMD nutzen oder mit strtok