Ich bin langsam am verzweifeln des /buygun Commands. Ich habe schon etlich viele Varianten probiert, den Command verändert, etc.
Es passiert einfach garnichts bei dem Befehl, sobald ich /buygun mache kommt einfach nichts. Das Script hat keinen Warning, keinen Error.
Ich hoffe ihr könnt mir helfen
Buygun-Befehl
if (strcmp(cmdtext, "/buygun", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(IsPlayerInRangeOfPoint(playerid,10.0,291.5526,-108.0460,1001.5156))
{
if(GetPlayerMoney(playerid) < 1)
{
SendClientMessage(playerid, FARBE_GRAU, "Du hast nicht genug Geld !");
return 1;
}
new idx;
new string[255];
new gun;
new gunid[16];
new gunstring1[256];
new gunstring2[256];
new gunstring3[256];
new gunstring4[256];
new gunstring5[256];
new infostring[256];
new guncharge;
new ammocharge;
if(IsPlayerInFrak(playerid,1))
{
new modsss = 200;
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
format(string, sizeof(string), "Benutzung: /buygun [waffenname] [munition]");
SendClientMessage(playerid, FARBE_GRÜN,"_______________________________________");
SendClientMessage(playerid, FARBE_BRAUN,"*** Waffen & Munition ***");
SendClientMessage(playerid, FARBE_BRAUN,string);
format(gunstring1, 256, "Waffen: Fallschirm ($%d) Golfschläger ($%d) Schlagstock ($%d) Baseballschläger ($%d) Schaufel ($%d) PoolCue ($%d)",
GunPrice[0][0]/100*modsss,GunPrice[1][0]/100*modsss,GunPrice[2][0]/100*modsss,GunPrice[3][0]/100*modsss,GunPrice[4][0]/100*modsss,GunPrice[5][0]/100*modsss,GunPrice[6][0]/100*modsss);
SendClientMessage(playerid, FARBE_HELLBRAUN, gunstring1);
format(gunstring2, 256, "Waffen: VioletterDildo ($%d) WeißerDildo ($%d) LangerweißerDildo ($%d) WeißerDildo2 ($%d) Blumen ($%d) cane",
GunPrice[7][0]/100*modsss,GunPrice[8][0]/100*modsss,GunPrice[9][0]/100*modsss,GunPrice[10][0]/100*modsss,GunPrice[11][0]/100*modsss,GunPrice[12][0]/100*modsss);
SendClientMessage(playerid, FARBE_HELLBRAUN, gunstring2);
format(gunstring3, 256, "Waffen: SD-Pistole ($%d) DesertEagle ($%d) MP5 ($%d)",
GunPrice[13][0]/100*modsss,GunPrice[14][0]/100*modsss,GunPrice[15][0]/100*modsss,GunPrice[16][0]/100*modsss,GunPrice[17][0]/100*modsss,GunPrice[18][0]/100*modsss);
SendClientMessage(playerid, FARBE_HELLBRAUN, gunstring3);
format(gunstring4, 256, "Waffen: Shotgun ($%d) AK47 ($%d) M4 ($%d) Sniper ($%d)",
GunPrice[19][0]/100*modsss,GunPrice[20][0]/100*modsss,GunPrice[21][0]/100*modsss,GunPrice[22][0]/100*modsss,GunPrice[23][0]/100*modsss,GunPrice[24][0]/100*modsss);
SendClientMessage(playerid, FARBE_HELLBRAUN, gunstring4);
format(gunstring5, 256, "Waffen: Pistolen Munition ($%d) Shotgun Munition ($%d) MP5 Munition ($%d) AK47/M4 Munition ($%d) Sniper Munition ($%d)",
GunPrice[25][0],GunPrice[26][0],GunPrice[27][0],GunPrice[28][0],GunPrice[29][0]);
SendClientMessage(playerid, FARBE_HELLBRAUN, gunstring5);
SendClientMessage(playerid, FARBE_GRÜN,"_______________________________________");
return 1;
}
strmid(gunid, tmp, 0, strlen(cmdtext), 255);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
format(string, sizeof(string), "BENUTZUNG: /buygun [Waffe] [Munition]");
return 1;
}
new ammo = strval(tmp);
if(ammo < 1 || ammo > 999) { SendClientMessage(playerid, FARBE_GRAU, " Die Munition muss zwischen 1 und 999 sein !"); return 1; }
if (strcmp(gunid, "Fallschirm", true, strlen(gunid)) == 0)
{
gun = 46;
guncharge = GunPrice[0][0]/100*modsss;
ammocharge = 0;
}
else if (strcmp(gunid, "Golfschläger", true, strlen(gunid)) == 0)
{
gun = 2; guncharge = GunPrice[1][0]/100*modsss; ammocharge = 0;
sSpieler[playerid][pGun1] = 2; sSpieler[playerid][pAmmo1] = 1;
}
else if (strcmp(gunid, "Schlagstock", true, strlen(gunid)) == 0)
{
gun = 3; guncharge = GunPrice[2][0]/100*modsss; ammocharge = 0;
sSpieler[playerid][pGun1] = 3; sSpieler[playerid][pAmmo1] = 1;
}
else if (strcmp(gunid, "Baseballschläger", true, strlen(gunid)) == 0)
{
gun = 5; guncharge = GunPrice[4][0]/100*modsss; ammocharge = 0;
sSpieler[playerid][pGun1] = 5; sSpieler[playerid][pAmmo1] = 1;
}
else if (strcmp(gunid, "Schaufel", true, strlen(gunid)) == 0)
{
gun = 6; guncharge = GunPrice[5][0]/100*modsss; ammocharge = 0;
sSpieler[playerid][pGun1] = 6; sSpieler[playerid][pAmmo1] = 1;
}
else if (strcmp(gunid, "poolcue", true, strlen(gunid)) == 0)
{
gun = 7; guncharge = GunPrice[6][0]/100*modsss; ammocharge = 0;
sSpieler[playerid][pGun1] = 7; sSpieler[playerid][pAmmo1] = 1;
}
else if (strcmp(gunid, "VioletterDildo", true, strlen(gunid)) == 0)
{
gun = 10; guncharge = GunPrice[7][0]/100*modsss; ammocharge = 0;
sSpieler[playerid][pGun1] = 10; sSpieler[playerid][pAmmo1] = 1;
}
else if (strcmp(gunid, "Weißerdildo", true, strlen(gunid)) == 0)
{
gun = 11; guncharge = GunPrice[8][0]/100*modsss; ammocharge = 0;
sSpieler[playerid][pGun1] = 11; sSpieler[playerid][pAmmo1] = 1;
}
else if (strcmp(gunid, "langerweißerdildo", true, strlen(gunid)) == 0)
{
gun = 12; guncharge = GunPrice[9][0]/100*modsss; ammocharge = 0;
sSpieler[playerid][pGun1] = 12; sSpieler[playerid][pAmmo1] = 1;
}
else if (strcmp(gunid, "weißerdildo2", true, strlen(gunid)) == 0)
{
gun = 13; guncharge = GunPrice[10][0]/100*modsss; ammocharge = 0;
sSpieler[playerid][pGun1] = 13; sSpieler[playerid][pAmmo1] = 1;
}
else if (strcmp(gunid, "Blumen", true, strlen(gunid)) == 0)
{
gun = 14; guncharge = GunPrice[11][0]/100*modsss; ammocharge = 0;
sSpieler[playerid][pGun1] = 14; sSpieler[playerid][pAmmo1] = 1;
}
else if (strcmp(gunid, "cane", true, strlen(gunid)) == 0)
{
gun = 15; guncharge = GunPrice[12][0]/100*modsss; ammocharge = 0;
sSpieler[playerid][pGun1] = 15; sSpieler[playerid][pAmmo1] = 1;
}
else if (strcmp(gunid, "SD-Pistole", true, strlen(gunid)) == 0)
{
gun = 23; guncharge = GunPrice[13][0]/100*modsss; ammocharge = GunPrice[25][0]*ammo;
sSpieler[playerid][pGun2] = 23; sSpieler[playerid][pAmmo2] = ammo;
}
else if (strcmp(gunid, "DesertEagle", true, strlen(gunid)) == 0)
{
gun = 24; guncharge = GunPrice[15][0]/100*modsss; ammocharge = GunPrice[25][0]*ammo;
sSpieler[playerid][pGun2] = 24; sSpieler[playerid][pAmmo2] = ammo;
}
else if (strcmp(gunid, "MP5", true, strlen(gunid)) == 0)
{
gun = 29; guncharge = GunPrice[18][0]/100*modsss; ammocharge = GunPrice[27][0]*ammo;
sSpieler[playerid][pGun3] = 29; sSpieler[playerid][pAmmo3] = ammo;
}
else if (strcmp(gunid, "Shotgun", true, strlen(gunid)) == 0)
{
gun = 25; guncharge = GunPrice[19][0]/100*modsss; ammocharge = GunPrice[26][0]*ammo;
sSpieler[playerid][pGun3] = 25; sSpieler[playerid][pAmmo3] = ammo;
}
else if (strcmp(gunid, "AK47", true, strlen(gunid)) == 0)
{
gun = 30; guncharge = GunPrice[22][0]/100*modsss; ammocharge = GunPrice[28][0]*ammo;
sSpieler[playerid][pGun4] = 30; sSpieler[playerid][pAmmo4] = ammo;
}
else if (strcmp(gunid, "M4", true, strlen(gunid)) == 0)
{
gun = 31; guncharge = GunPrice[23][0]/100*modsss; ammocharge = GunPrice[28][0]*ammo;
sSpieler[playerid][pGun4] = 31; sSpieler[playerid][pAmmo4] = ammo;
}
else if (strcmp(gunid, "Sniper", true, strlen(gunid)) == 0)
{
gun = 34; guncharge = GunPrice[24][0]/100*modsss; ammocharge = GunPrice[29][0]*ammo;
sSpieler[playerid][pGun4] = 34; sSpieler[playerid][pAmmo4] = ammo;
}
else
{
SendClientMessage(playerid, FARBE_ROT, "Ladenbesitzer: Ich habe noch nie von dieser Waffe gehört.");
return 1;
}
if((guncharge+ammocharge) > GetPlayerMoney(playerid))
{
format(infostring, 256, " Du hast keine $%d !",guncharge+ammocharge);
SendClientMessage(playerid, FARBE_ROT, infostring);
return 1;
}
if(GetPlayerMoney(playerid) < (guncharge+ammocharge))
{
SendClientMessage(playerid, FARBE_ROT, "Geht nicht !");
return 1;
}
new payout = guncharge + ammocharge;
format(infostring, 256, "Du hast eine %s mit %d Munition für $%d erworben",gunid,ammo,payout);
SendClientMessage(playerid, FARBE_ROT, infostring);
GivePlayerMoney(playerid, -payout);
PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
GivePlayerWeapon(playerid, gun, ammo);
}
else
{
SendClientMessage(playerid, FARBE_ROT,"Du bist in keinem Gunshop.");
return 1;
}
}
}
return 1;
}
{
if(IsPlayerConnected(playerid))
{
if(IsPlayerInRangeOfPoint(playerid,10.0,291.5526,-108.0460,1001.5156))
{
if(GetPlayerMoney(playerid) < 1)
{
SendClientMessage(playerid, FARBE_GRAU, "Du hast nicht genug Geld !");
return 1;
}
new idx;
new string[255];
new gun;
new gunid[16];
new gunstring1[256];
new gunstring2[256];
new gunstring3[256];
new gunstring4[256];
new gunstring5[256];
new infostring[256];
new guncharge;
new ammocharge;
if(IsPlayerInFrak(playerid,1))
{
new modsss = 200;
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
format(string, sizeof(string), "Benutzung: /buygun [waffenname] [munition]");
SendClientMessage(playerid, FARBE_GRÜN,"_______________________________________");
SendClientMessage(playerid, FARBE_BRAUN,"*** Waffen & Munition ***");
SendClientMessage(playerid, FARBE_BRAUN,string);
format(gunstring1, 256, "Waffen: Fallschirm ($%d) Golfschläger ($%d) Schlagstock ($%d) Baseballschläger ($%d) Schaufel ($%d) PoolCue ($%d)",
GunPrice[0][0]/100*modsss,GunPrice[1][0]/100*modsss,GunPrice[2][0]/100*modsss,GunPrice[3][0]/100*modsss,GunPrice[4][0]/100*modsss,GunPrice[5][0]/100*modsss,GunPrice[6][0]/100*modsss);
SendClientMessage(playerid, FARBE_HELLBRAUN, gunstring1);
format(gunstring2, 256, "Waffen: VioletterDildo ($%d) WeißerDildo ($%d) LangerweißerDildo ($%d) WeißerDildo2 ($%d) Blumen ($%d) cane",
GunPrice[7][0]/100*modsss,GunPrice[8][0]/100*modsss,GunPrice[9][0]/100*modsss,GunPrice[10][0]/100*modsss,GunPrice[11][0]/100*modsss,GunPrice[12][0]/100*modsss);
SendClientMessage(playerid, FARBE_HELLBRAUN, gunstring2);
format(gunstring3, 256, "Waffen: SD-Pistole ($%d) DesertEagle ($%d) MP5 ($%d)",
GunPrice[13][0]/100*modsss,GunPrice[14][0]/100*modsss,GunPrice[15][0]/100*modsss,GunPrice[16][0]/100*modsss,GunPrice[17][0]/100*modsss,GunPrice[18][0]/100*modsss);
SendClientMessage(playerid, FARBE_HELLBRAUN, gunstring3);
format(gunstring4, 256, "Waffen: Shotgun ($%d) AK47 ($%d) M4 ($%d) Sniper ($%d)",
GunPrice[19][0]/100*modsss,GunPrice[20][0]/100*modsss,GunPrice[21][0]/100*modsss,GunPrice[22][0]/100*modsss,GunPrice[23][0]/100*modsss,GunPrice[24][0]/100*modsss);
SendClientMessage(playerid, FARBE_HELLBRAUN, gunstring4);
format(gunstring5, 256, "Waffen: Pistolen Munition ($%d) Shotgun Munition ($%d) MP5 Munition ($%d) AK47/M4 Munition ($%d) Sniper Munition ($%d)",
GunPrice[25][0],GunPrice[26][0],GunPrice[27][0],GunPrice[28][0],GunPrice[29][0]);
SendClientMessage(playerid, FARBE_HELLBRAUN, gunstring5);
SendClientMessage(playerid, FARBE_GRÜN,"_______________________________________");
return 1;
}
strmid(gunid, tmp, 0, strlen(cmdtext), 255);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
format(string, sizeof(string), "BENUTZUNG: /buygun [Waffe] [Munition]");
return 1;
}
new ammo = strval(tmp);
if(ammo < 1 || ammo > 999) { SendClientMessage(playerid, FARBE_GRAU, " Die Munition muss zwischen 1 und 999 sein !"); return 1; }
if (strcmp(gunid, "Fallschirm", true, strlen(gunid)) == 0)
{
gun = 46;
guncharge = GunPrice[0][0]/100*modsss;
ammocharge = 0;
}
else if (strcmp(gunid, "Golfschläger", true, strlen(gunid)) == 0)
{
gun = 2; guncharge = GunPrice[1][0]/100*modsss; ammocharge = 0;
sSpieler[playerid][pGun1] = 2; sSpieler[playerid][pAmmo1] = 1;
}
else if (strcmp(gunid, "Schlagstock", true, strlen(gunid)) == 0)
{
gun = 3; guncharge = GunPrice[2][0]/100*modsss; ammocharge = 0;
sSpieler[playerid][pGun1] = 3; sSpieler[playerid][pAmmo1] = 1;
}
else if (strcmp(gunid, "Baseballschläger", true, strlen(gunid)) == 0)
{
gun = 5; guncharge = GunPrice[4][0]/100*modsss; ammocharge = 0;
sSpieler[playerid][pGun1] = 5; sSpieler[playerid][pAmmo1] = 1;
}
else if (strcmp(gunid, "Schaufel", true, strlen(gunid)) == 0)
{
gun = 6; guncharge = GunPrice[5][0]/100*modsss; ammocharge = 0;
sSpieler[playerid][pGun1] = 6; sSpieler[playerid][pAmmo1] = 1;
}
else if (strcmp(gunid, "poolcue", true, strlen(gunid)) == 0)
{
gun = 7; guncharge = GunPrice[6][0]/100*modsss; ammocharge = 0;
sSpieler[playerid][pGun1] = 7; sSpieler[playerid][pAmmo1] = 1;
}
else if (strcmp(gunid, "VioletterDildo", true, strlen(gunid)) == 0)
{
gun = 10; guncharge = GunPrice[7][0]/100*modsss; ammocharge = 0;
sSpieler[playerid][pGun1] = 10; sSpieler[playerid][pAmmo1] = 1;
}
else if (strcmp(gunid, "Weißerdildo", true, strlen(gunid)) == 0)
{
gun = 11; guncharge = GunPrice[8][0]/100*modsss; ammocharge = 0;
sSpieler[playerid][pGun1] = 11; sSpieler[playerid][pAmmo1] = 1;
}
else if (strcmp(gunid, "langerweißerdildo", true, strlen(gunid)) == 0)
{
gun = 12; guncharge = GunPrice[9][0]/100*modsss; ammocharge = 0;
sSpieler[playerid][pGun1] = 12; sSpieler[playerid][pAmmo1] = 1;
}
else if (strcmp(gunid, "weißerdildo2", true, strlen(gunid)) == 0)
{
gun = 13; guncharge = GunPrice[10][0]/100*modsss; ammocharge = 0;
sSpieler[playerid][pGun1] = 13; sSpieler[playerid][pAmmo1] = 1;
}
else if (strcmp(gunid, "Blumen", true, strlen(gunid)) == 0)
{
gun = 14; guncharge = GunPrice[11][0]/100*modsss; ammocharge = 0;
sSpieler[playerid][pGun1] = 14; sSpieler[playerid][pAmmo1] = 1;
}
else if (strcmp(gunid, "cane", true, strlen(gunid)) == 0)
{
gun = 15; guncharge = GunPrice[12][0]/100*modsss; ammocharge = 0;
sSpieler[playerid][pGun1] = 15; sSpieler[playerid][pAmmo1] = 1;
}
else if (strcmp(gunid, "SD-Pistole", true, strlen(gunid)) == 0)
{
gun = 23; guncharge = GunPrice[13][0]/100*modsss; ammocharge = GunPrice[25][0]*ammo;
sSpieler[playerid][pGun2] = 23; sSpieler[playerid][pAmmo2] = ammo;
}
else if (strcmp(gunid, "DesertEagle", true, strlen(gunid)) == 0)
{
gun = 24; guncharge = GunPrice[15][0]/100*modsss; ammocharge = GunPrice[25][0]*ammo;
sSpieler[playerid][pGun2] = 24; sSpieler[playerid][pAmmo2] = ammo;
}
else if (strcmp(gunid, "MP5", true, strlen(gunid)) == 0)
{
gun = 29; guncharge = GunPrice[18][0]/100*modsss; ammocharge = GunPrice[27][0]*ammo;
sSpieler[playerid][pGun3] = 29; sSpieler[playerid][pAmmo3] = ammo;
}
else if (strcmp(gunid, "Shotgun", true, strlen(gunid)) == 0)
{
gun = 25; guncharge = GunPrice[19][0]/100*modsss; ammocharge = GunPrice[26][0]*ammo;
sSpieler[playerid][pGun3] = 25; sSpieler[playerid][pAmmo3] = ammo;
}
else if (strcmp(gunid, "AK47", true, strlen(gunid)) == 0)
{
gun = 30; guncharge = GunPrice[22][0]/100*modsss; ammocharge = GunPrice[28][0]*ammo;
sSpieler[playerid][pGun4] = 30; sSpieler[playerid][pAmmo4] = ammo;
}
else if (strcmp(gunid, "M4", true, strlen(gunid)) == 0)
{
gun = 31; guncharge = GunPrice[23][0]/100*modsss; ammocharge = GunPrice[28][0]*ammo;
sSpieler[playerid][pGun4] = 31; sSpieler[playerid][pAmmo4] = ammo;
}
else if (strcmp(gunid, "Sniper", true, strlen(gunid)) == 0)
{
gun = 34; guncharge = GunPrice[24][0]/100*modsss; ammocharge = GunPrice[29][0]*ammo;
sSpieler[playerid][pGun4] = 34; sSpieler[playerid][pAmmo4] = ammo;
}
else
{
SendClientMessage(playerid, FARBE_ROT, "Ladenbesitzer: Ich habe noch nie von dieser Waffe gehört.");
return 1;
}
if((guncharge+ammocharge) > GetPlayerMoney(playerid))
{
format(infostring, 256, " Du hast keine $%d !",guncharge+ammocharge);
SendClientMessage(playerid, FARBE_ROT, infostring);
return 1;
}
if(GetPlayerMoney(playerid) < (guncharge+ammocharge))
{
SendClientMessage(playerid, FARBE_ROT, "Geht nicht !");
return 1;
}
new payout = guncharge + ammocharge;
format(infostring, 256, "Du hast eine %s mit %d Munition für $%d erworben",gunid,ammo,payout);
SendClientMessage(playerid, FARBE_ROT, infostring);
GivePlayerMoney(playerid, -payout);
PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
GivePlayerWeapon(playerid, gun, ammo);
}
else
{
SendClientMessage(playerid, FARBE_ROT,"Du bist in keinem Gunshop.");
return 1;
}
}
}
return 1;
}
Strtok - Funktion
//Strtok
new tmp[256];
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;
}
new tmp[256];
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;
}
Definierte Waffenpreise
//WaffenPreise
new GunPrice[30][1] = {
{75}, //parachute
{75}, //golfclub
{75}, //nightstick
{75}, //knife
{75}, //baseballbat
{100}, //shovel
{75}, //poolcue
{50}, //purpledildo
{50}, //whitedildo
{50}, //longwhitedildo
{50}, //whitedildo2
{50}, //flowers
{600}, //cane
{300}, //sdpistol
{300}, //colt45
{500}, //deagle
{99999}, //Tec9
{99999}, //uzi
{1000}, //mp5
{750}, //shotgun
{1500}, //spas12//
{1500}, //sawnoff//
{1500}, //ak47
{1500}, //m4
{2000}, //sniper
{7}, //pistolammo
{7}, //shotgunammo
{9}, //smgammo
{10}, //assaultammo
{20} //sniper
};
new GunPrice[30][1] = {
{75}, //parachute
{75}, //golfclub
{75}, //nightstick
{75}, //knife
{75}, //baseballbat
{100}, //shovel
{75}, //poolcue
{50}, //purpledildo
{50}, //whitedildo
{50}, //longwhitedildo
{50}, //whitedildo2
{50}, //flowers
{600}, //cane
{300}, //sdpistol
{300}, //colt45
{500}, //deagle
{99999}, //Tec9
{99999}, //uzi
{1000}, //mp5
{750}, //shotgun
{1500}, //spas12//
{1500}, //sawnoff//
{1500}, //ak47
{1500}, //m4
{2000}, //sniper
{7}, //pistolammo
{7}, //shotgunammo
{9}, //smgammo
{10}, //assaultammo
{20} //sniper
};
Sollte noch etwas fehlen, so schreibt es bitte.
Mit freundlichem Gruß,
coVer