Hallo Community,
Ich habe einen Bug im script
und zwar, ich habe bei /buygun ein paar bizes hinzugefügt,
diese funktionieren zwar, aber wenn ich per /Enter ins biz gehe, steht bei /buygun
dass ich in keinem laden bin.
Wenn ich mich aber per /biz hineinteleportiere in genau das gleiche, geht /buygun.
Woran könnte das liegen ?
Hier der /buygun Code
SQL
if (strcmp(cmd, "/buygun", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(PlayerMoney[playerid] < 1)
{
SendClientMessage(playerid, COLOR_GREY, " Du hast nicht genug Geld !");
return 1;
}
new gun;
new gunid[16];
new gunstring1[256];
new gunstring2[256];
new gunstring3[256];
new gunstring4[256];
new infostring[256];
new guncharge;
new ammocharge;
new location = PlayerInfo[playerid][pLocal];
if(location == 106 || location == 100 || location == 101 || location == 102 || location == 103 || location == 104 || location == 105)
{
if(BizzInfo[location-99][bProducts] <= 0)
{
GameTextForPlayer(playerid, "~r~Ausverkauft", 5000, 1);
return 1;
}
new mod = 100;
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
format(string, sizeof(string), "Benutze: /buygun [waffenname] [munition]");
SendClientMessage(playerid, COLOR_GREEN,"_______________________________________");
SendClientMessage(playerid, COLOR_WHITE,"*** Waffen & Munition ***");
SendClientMessage(playerid, COLOR_GRAD2,string);
format(gunstring1, 256, "Waffen: Fallschirm ($%d) Golfschläger ($%d) Schlagstock ($%d) Baseballschläger ($%d) Schaufel ($%d) Billiardkö ($%d) Messer ($%d)",
GunPrice[0][0]/100*mod,GunPrice[1][0]/100*mod,GunPrice[2][0]/100*mod,GunPrice[4][0]/100*mod,GunPrice[5][0]/100*mod,GunPrice[6][0]/100*mod,GunPrice[3][0]/100*mod);
SendClientMessage(playerid, COLOR_GRAD3, gunstring1);
format(gunstring2, 256, "Waffen: SdPistole ($%d) Deagle ($%d) MP5 ($%d) Mac10 ($%d)",
GunPrice[13][0]/100*mod,GunPrice[15][0]/100*mod,GunPrice[18][0]/100*mod,GunPrice[17][0]/100*mod);
SendClientMessage(playerid, COLOR_GRAD3, gunstring2);
format(gunstring3, 256, "Waffen: Shotgun ($%d) AK47 ($%d) m4 ($%d) Gewehr ($%d)",
GunPrice[19][0]/100*mod,GunPrice[22][0]/100*mod,GunPrice[23][0]/100*mod,GunPrice[24][0]/100*mod);
SendClientMessage(playerid, COLOR_GRAD3, gunstring3);
format(gunstring4, 256, "Waffen: Pistolenmunition ($%d) Shotgunpatronen ($%d) SMGMunition ($%d) MG-Munition ($%d) Gewehrmunition ($%d)",
GunPrice[25][0],GunPrice[26][0],GunPrice[27][0],GunPrice[28][0],GunPrice[29][0]);
SendClientMessage(playerid, COLOR_GRAD3, gunstring4);
SendClientMessage(playerid, COLOR_GREEN,"_______________________________________");
return 1;
}
strmid(gunid, tmp, 0, strlen(cmdtext), 255);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
format(string, sizeof(string), "Benutze: /buygun [Waffenname] [Munition]");
return 1;
}
new ammo = strval(tmp);
if(ammo < 1 || ammo > 999) { SendClientMessage(playerid, COLOR_GREY, " 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*mod;
ammocharge = 0;
}
else if (strcmp(gunid, "Golfschläger", true, strlen(gunid)) == 0)
{
gun = 2; guncharge = GunPrice[1][0]/100*mod; ammocharge = 0;
PlayerInfo[playerid][pGun1] = 2; PlayerInfo[playerid][pAmmo1] = 1;
}
else if (strcmp(gunid, "Schlagstock", true, strlen(gunid)) == 0)
{
gun = 3; guncharge = GunPrice[2][0]/100*mod; ammocharge = 0;
PlayerInfo[playerid][pGun1] = 3; PlayerInfo[playerid][pAmmo1] = 1;
}
else if (strcmp(gunid, "Messer", true, strlen(gunid)) == 0)
{
gun = 4; guncharge = GunPrice[3][0]/100*mod; ammocharge = 0;
PlayerInfo[playerid][pGun1] = 4; PlayerInfo[playerid][pAmmo1] = 1;
}
else if (strcmp(gunid, "Baseballschläger", true, strlen(gunid)) == 0)
{
gun = 5; guncharge = GunPrice[4][0]/100*mod; ammocharge = 0;
PlayerInfo[playerid][pGun1] = 5; PlayerInfo[playerid][pAmmo1] = 1;
}
else if (strcmp(gunid, "Schaufel", true, strlen(gunid)) == 0)
{
gun = 6; guncharge = GunPrice[5][0]/100*mod; ammocharge = 0;
PlayerInfo[playerid][pGun1] = 6; PlayerInfo[playerid][pAmmo1] = 1;
}
else if (strcmp(gunid, "poolcue", true, strlen(gunid)) == 0)
{
gun = 7; guncharge = GunPrice[6][0]/100*mod; ammocharge = 0;
PlayerInfo[playerid][pGun1] = 7; PlayerInfo[playerid][pAmmo1] = 1;
}
else if (strcmp(gunid, "SdPistole", true, strlen(gunid)) == 0)
{
gun = 23; guncharge = GunPrice[13][0]/100*mod; ammocharge = GunPrice[25][0]*ammo;
PlayerInfo[playerid][pGun2] = 23; PlayerInfo[playerid][pAmmo2] = ammo;
}
else if (strcmp(gunid, "Deagle", true, strlen(gunid)) == 0)
{
gun = 24; guncharge = GunPrice[15][0]/100*mod; ammocharge = GunPrice[25][0]*ammo;
PlayerInfo[playerid][pGun2] = 24; PlayerInfo[playerid][pAmmo2] = ammo;
}
else if (strcmp(gunid, "mp5", true, strlen(gunid)) == 0)
{
gun = 29; guncharge = GunPrice[18][0]/100*mod; ammocharge = GunPrice[27][0]*ammo;
PlayerInfo[playerid][pGun3] = 29; PlayerInfo[playerid][pAmmo3] = ammo;
}
else if (strcmp(gunid, "shotgun", true, strlen(gunid)) == 0)
{
gun = 25; guncharge = GunPrice[19][0]/100*mod; ammocharge = GunPrice[26][0]*ammo;
PlayerInfo[playerid][pGun3] = 25; PlayerInfo[playerid][pAmmo3] = ammo;
}
else if (strcmp(gunid, "ak47", true, strlen(gunid)) == 0)
{
gun = 30; guncharge = GunPrice[22][0]/100*mod; ammocharge = GunPrice[28][0]*ammo;
PlayerInfo[playerid][pGun4] = 30; PlayerInfo[playerid][pAmmo4] = ammo;
}
else if (strcmp(gunid, "m4", true, strlen(gunid)) == 0)
{
gun = 31; guncharge = GunPrice[23][0]/100*mod; ammocharge = GunPrice[28][0]*ammo;
PlayerInfo[playerid][pGun4] = 31; PlayerInfo[playerid][pAmmo4] = ammo;
}
else if (strcmp(gunid, "Gewehr", true, strlen(gunid)) == 0)
{
gun = 33; guncharge = GunPrice[24][0]/100*mod; ammocharge = GunPrice[29][0]*ammo;
PlayerInfo[playerid][pGun4] = 33; PlayerInfo[playerid][pAmmo4] = ammo;
}
else
{
SendClientMessage(playerid, COLOR_GRAD6, "Ladenbesitzer sagt: Ich habe noch nie von dieser Waffe gehört.");
return 1;
}
if((guncharge+ammocharge) > PlayerMoney[playerid])
{
format(infostring, 256, " Du hast nicht $%d !",guncharge+ammocharge);
SendClientMessage(playerid, COLOR_GRAD3, infostring);
return 1;
}
if(PlayerMoney[playerid] < (guncharge+ammocharge))
{
SendClientMessage(playerid, COLOR_GREY, " 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, COLOR_GRAD3, infostring);
if(location == 102 && IsACop(playerid) || IsACopKiller(playerid)) { }
else { PlayerMoney[playerid] = PlayerMoney[playerid]-payout; }
BizzInfo[location-99][bTill] += payout;
ExtortionBiz(location-99, payout);
BizzInfo[location-99][bProducts]--;
PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
JB_GivePlayerWeapon(playerid, gun, ammo);
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "%s hat Waffen für $%d eingekauft Am BIZ: %d", sendername, payout, location-99);
printf("%s", string);
PayLog(string);
}
else
{
SendClientMessage(playerid, COLOR_WHITE,"Du bist nicht in einen Laden.");
return 1;
}
}
return 1;
}
Alles anzeigen
und hier /biz
SQL
if(strcmp(cmd, "/biz", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pAdmin] >= 3)
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /biz [biznummer]");
return 1;
}
new housenum = strval(tmp);
SetPlayerInterior(playerid,BizzInfo[housenum][bInterior]);
JB_SetPlayerPos(playerid,BizzInfo[housenum][bExitX],BizzInfo[housenum][bExitY],BizzInfo[housenum][bExitZ]);
GameTextForPlayer(playerid, "~w~Teleporting", 5000, 1);
PlayerInfo[playerid][pInt] = BizzInfo[housenum][bInterior];
PlayerInfo[playerid][pLocal] = housenum+99;
}
}
return 1;
}
Alles anzeigen
Vielleicht könnt ihr mir helfen, danke im Vorraus.
MfG