hi
habe 2 problem´e
1.
könnte mir mal einer erklären (zeigen)
wie ich es hin bekomme das man nach einem /taschenraub nicht wieder den selber gegenstand klauen kann!?!?!
beispiel:
/traub 1 waffen
ich klaue der id 1 die waffen , die waffen verliert auch die id 1
jedoch kann ich direkt dannach wieder
/traub 1 waffen machen und bekomme wieder 1+ ware (zum verkauf)
if(strcmp(cmd, "/traub", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pJob] != 22)
{
SendClientMessage(playerid, COLOR_GREY, " Du bist kein Dieb ! ");
return 1;
}
new x_nr[256];
x_nr = strtok(cmdtext, idx);
if(!strlen(x_nr))
{
SendClientMessage(playerid, COLOR_WHITE, "|______________ Klaue von deinem Opfer _______________|");
SendClientMessage(playerid, COLOR_WHITE, "Anwendung: /traub [itemname] [playerid/PartOfName]");
SendClientMessage(playerid, COLOR_GREY, "Verfügbare Namen: handy, waffen");
SendClientMessage(playerid, COLOR_WHITE, "|___________________________________________________|");
return 1;
}
if(strcmp(x_nr,"handy",true) == 0)
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_WHITE, "Anwendung: /traub handy [playerid/PartOfName]");
return 1;
}
giveplayerid = ReturnUser(tmp);
if(IsPlayerConnected(giveplayerid))
{
if(giveplayerid != INVALID_PLAYER_ID)
{
if (ProxDetectorS(3.0, playerid, giveplayerid))
{
format(string, sizeof(string), "*Du hast %s's Handy geklaut.", giveplayer);
SendClientMessage(playerid, COLOR_GREEN, string);
format(string, sizeof(string), "* %s hat dein handy geklaut.", sendername);
SendClientMessage(giveplayerid, COLOR_GREEN, string);
PlayerInfo[giveplayerid][pPnumber] = 0;
PlayerInfo[playerid][pWaren] += 1;
}
else
{
SendClientMessage(playerid, COLOR_GREY, " Der Bürger ist nicht in deiner Nähe!");
return 1;
}
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, " Der Bürger ist nicht da!");
return 1;
}
}
else if(strcmp(x_nr,"waffen",true) == 0)
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_WHITE, "Anwendung: /traub waffen [playerid/PartOfName]");
return 1;
}
giveplayerid = ReturnUser(tmp);
if(IsPlayerConnected(giveplayerid))
{
if(giveplayerid != INVALID_PLAYER_ID)
{
if (ProxDetectorS(3.0, playerid, giveplayerid))
{
format(string, sizeof(string), "* Du hast %s's die Waffen geklaut.", giveplayer);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "* %s hat dir deine Waffen geklaut.", sendername);
SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
ResetPlayerWeapons(giveplayerid);
PlayerInfo[giveplayerid][pGun1] = 0; PlayerInfo[giveplayerid][pAmmo1] = 0;
PlayerInfo[giveplayerid][pGun2] = 0; PlayerInfo[giveplayerid][pAmmo2] = 0;
PlayerInfo[giveplayerid][pGun3] = 0; PlayerInfo[giveplayerid][pAmmo3] = 0;
PlayerInfo[giveplayerid][pGun4] = 0; PlayerInfo[giveplayerid][pAmmo4] = 0;
PlayerInfo[playerid][pWaren] += 1;
}
else
{
SendClientMessage(playerid, COLOR_GREY, " Der Bürger ist nicht in deiner Nähe!");
return 1;
}
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, " Der Bürger ist nicht da!");
return 1;
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, " Unbekanntes Item!");
return 1;
}
}
return 1;
}
problem 2.
nach dem ich die waren geklaut habe 10 mal hinter einander
hatte ich bei /stats 10 waren ,soweit alles richtig
wenn man eine ware verkauft ,bekomt man 500$
habe 10 auf einmal verkauft und bekomme auch nur 500$
wie lässt sich das zusammen addieren beim verkauf ?
if(strcmp(cmd, "/vware", true) == 0)
{
if(!IsPlayerInRangeOfPoint(playerid, 100.0,-30.8488,-29.0138,1003.5573))
{
SendClientMessage(playerid, COLOR_GRAD2, " Du bist nicht in einem 24/7 oder Tankstelle !");
return 1;
}
else if(PlayerInfo[playerid][pWaren] < 1)
{
SendClientMessage(playerid, COLOR_GREY, "Du hast keine Waren zum Verkaufen !");
return 1;
}
GivePlayerMoney(playerid, 500);
SendClientMessage(playerid, COLOR_GREEN, " * Du hast 500$ für deine Ware bekommen !");
PlayerInfo[playerid][pWaren] = 0;
return 1;
}
bzw. ich möchte sowas in der art ,damit rein bauen damit man einen betrag von 500 bis 1500 bekommt
ohne das meine 2 probleme auftauchen
new string3[MAX_STRING];
new Strassengeld;
Strassengeld = 300 + random(1000);
GetPlayerName(playerid,name,sizeof(name));
format(string3,sizeof(string3),"* Danke mein Freund hier ist dein Lohn %d$",Strassengeld);
ProxDetector(30.0,playerid,string3,COLOR_ORANGE,COLOR_ORANGE,COLOR_ORANGE,COLOR_ORANGE,COLOR_ORANGE);
DisablePlayerCheckpoint(playerid);
GivePlayerMoney(playerid,Strassengeld);
mfg