Hi Leute, wär net wenn ihr mir helfen könntet.
Ich brauche nämlich ein Befehl zum Geld senden aber das bei diesem Befehl der andere so ca. 3 m max von mir entfernt sein darf.
Kennt jmd. so einen Script?
Schonmal Thx Willi
Hi Leute, wär net wenn ihr mir helfen könntet.
Ich brauche nämlich ein Befehl zum Geld senden aber das bei diesem Befehl der andere so ca. 3 m max von mir entfernt sein darf.
Kennt jmd. so einen Script?
Schonmal Thx Willi
Ich hab den Code noch nicht getesten, aber ich denke mal zu 99%, dass er funktioniert
Am Anfang deines Scripts:
Bei OnPlayerCommandText:
new cmd[256], idx;
cmd = strtok(cmdtext, idx);
if (!strcmp(cmd, "/givecash", true)) {
new cashida[256];
new casha[256];
cashida = strtok(cmdtext, idx);
casha = strtok(cmdtext, idx);
if ((!strlen(cashida)) || (!strlen(casha))) return SendClientMessage(playerid, 0x00FF00FF, "[USAGE]: \"/givecash [playerid][amount]\"");
new cashid = strval(cashida);
new cash = strval(casha);
if (GetPlayerMoney(playerid) < cash) return SendClientMessage(playerid, 0x00FF00FF, "[ERROR]: Invalid cash amount!");
if (!IsPlayerConnected(cashid)) return SendClientMessage(playerid, 0x00FF00FF, "[ERROR]: Not connected playerid!");
if (GetDistanceBetweenPlayers(playerid, cashid) > 3) return SendClientMessage(playerid, 0x00FF00FF, "[ERROR]:You're too far away!");
GivePlayerMoney(playerid, -cash);
GivePlayerMoney(cashid, cash);
new string[256];
format(string, sizeof(string), "You've send %s(ID: %d) $%d", PlayerName(cashid), cashid, cash);
SendClientMessage(playerid, 0x00FF00FF, string);
format(string, sizeof(string), "You've recived $%d from %s(ID: %d)", cash, PlayerName(playerid), playerid);
SendClientMessage(cashid, 0x00FF00FF, string);
return 1;
}
Alles anzeigen
Am Ende deines Scripts:
public Float:GetDistanceBetweenPlayers(p1,p2){
new Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2;
if (!IsPlayerConnected(p1) || !IsPlayerConnected(p2)){
return -1.00;
}
GetPlayerPos(p1,x1,y1,z1);
GetPlayerPos(p2,x2,y2,z2);
return floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2));
}
strtok(const string[], &index)
{
new length = strlen(string);
while ((index < length) && (string[index] <= ' ')) {
index++;
}
new offset = index;
new result[20];
while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1))) {
result[index - offset] = string[index];
index++;
}
result[index - offset] = EOS;
return result;
}
Alles anzeigen
Hmm Error ==>
C:\[GER]Reallife +Scripts Selfmade\GERWerbung.pwn(140) : warning 219: local variable "cmd" shadows a variable at a preceding level
C:\[GER]Reallife +Scripts Selfmade\GERWerbung.pwn(140) : warning 219: local variable "idx" shadows a variable at a preceding level
C:\[GER]Reallife +Scripts Selfmade\GERWerbung.pwn(154) : error 017: undefined symbol "string"
C:\[GER]Reallife +Scripts Selfmade\GERWerbung.pwn(154) : error 017: undefined symbol "string"
C:\[GER]Reallife +Scripts Selfmade\GERWerbung.pwn(154) : error 029: invalid expression, assumed zero
C:\[GER]Reallife +Scripts Selfmade\GERWerbung.pwn(154) : fatal error 107: too many error messages on one line
Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
4 Errors.
Alles anzeigen
Linie 145 ==>
if (!strcmp(cmd, "/xtc", true)) {
if ((!strlen(cashida)) || (!strlen(casha))) return
SendClientMessage(playerid, 0x00FF00FF, "[Nimm]: /xtc [id] ");
if (gTeam[playerid] == TEAM_GREEN)
if (GetPlayerMoney(cashid) < cash) return SendClientMessage(playerid, 0x00FF00FF, "Er hat zu wenig Geld!");
if (!IsPlayerConnected(cashid)) return SendClientMessage(playerid, 0x00FF00FF, "Error: Ungültige ID!");
if (GetDistanceBetweenPlayers(playerid, cashid) > 3) return SendClientMessage(playerid, 0x00FF00FF, "ERROR: Du bist zu weit weg.");
GivePlayerMoney(playerid, 1000);
GivePlayerMoney(cashid, -1000);
playerondrugs[cashid] =60;
format(string, sizeof(string), "Du Hast %s(ID: %d) Drogen gegeben", PlayerName(cashid), cashid, cash); //<=== 154
SendClientMessage(playerid, 0x00FF00FF, string);
format(string, sizeof(string), "Du hast Drogen von %s(ID: %d) bekommen.", cash, PlayerName(playerid), playerid);
SendClientMessage(cashid, 0x00FF00FF, string);
new string[256];
}
Alles anzeigen
Die Veränderungen sind schon in ordnung, der befehl soll auch was anderes herausgeben aber den error kapier ich net...
ja schon gemerkt, jetz gehts:D aber der macht die Namen wenn der schickt net richtig, ka warum...