02.05.2012, 21:09
(
Последний раз редактировалось mikiii18; 04.05.2012 в 14:34.
Причина: MySQL - Bugs - Need Help
)
Hello.
I have 3 system in my gamemode that are bugged. Please help me.
First - Anti-Weapon Spawn
- I don't know why but people are banned when they use /guardararmapasta (get the bag weapon) and /tirararmapasta (put the weapon in the bag). These comands use RemovePlayerWeapon.
System:
Second - PayDay Bug
My PayDay/PayCheck is showing "SERVER UNKWNOW COMMAND".
I know what part of PayCheck it's bugged, but I don't know why.. I'll put it here:
Third - Car System Bug
Players are loosing vehicles that they bought..
When someone buy a car, it uses CriarCarroDono and CriarCarroUser. When player logout it uses GuardarCarroUser and GuardarCarroDono. When player login it uses CarregarCarroUser and CarregarCarroDono. When players sells a vehicle, it uses EliminarCarroCenas.
Please help me, thanks!
I have 3 system in my gamemode that are bugged. Please help me.
First - Anti-Weapon Spawn
- I don't know why but people are banned when they use /guardararmapasta (get the bag weapon) and /tirararmapasta (put the weapon in the bag). These comands use RemovePlayerWeapon.
System:
Код:
forward DarArmaPlayer(playerid, weaponid, ammo); forward RemovePlayerWeapon(playerid, weaponid); forward TirarArmaPlayer(playerid); forward ArmaTimerReset(playerid); new ArmaTimerPause[MAX_PLAYERS]; new GivedPlayerWeapon[MAX_PLAYERS+5][60]; public DarArmaPlayer(playerid, weaponid, ammo) { if(ArmaTimerPause[playerid]==0) { GivedPlayerWeapon[playerid][weaponid]=1; GivePlayerWeapon(playerid, weaponid, ammo); ArmaTimerPause[playerid]=1; SetTimerEx("ArmaTimerReset", 1000, false, "i", playerid); } else { SetTimerEx("DarArmaPlayer", 1000, false, "iii", playerid, weaponid, ammo); } return 1; } #define GivePlayerWeapon DarArmaPlayer public TirarArmaPlayer(playerid) { ResetPlayerWeapons(playerid); for(new i=0; i<60; i++) { GivedPlayerWeapon[playerid][i]=0; } GivedPlayerWeapon[playerid][0]=1; GivedPlayerWeapon[playerid][1]=1; GivedPlayerWeapon[playerid][46]=1; GivedPlayerWeapon[playerid][47]=1; GivedPlayerWeapon[playerid][49]=1; GivedPlayerWeapon[playerid][50]=1; GivedPlayerWeapon[playerid][51]=1; GivedPlayerWeapon[playerid][53]=1; GivedPlayerWeapon[playerid][54]=1; ArmaTimerPause[playerid]=1; SetTimerEx("ArmaTimerReset", 1000, false, "i", playerid); return 1; } public ArmaTimerReset(playerid) { ArmaTimerPause[playerid]=0; } public RemovePlayerWeapon(playerid, weaponid) { new plyWeapons[12] = 0; new plyAmmo[12] = 0; for(new sslot = 0; sslot != 12; sslot++) { new wep, ammo; GetPlayerWeaponData(playerid, sslot, wep, ammo); if(wep != weaponid && ammo != 0) GetPlayerWeaponData(playerid, sslot, plyWeapons[sslot], plyAmmo[sslot]); } ArmaTimerPause[playerid]=1; ResetPlayerWeapons(playerid); for(new sslot = 0; sslot != 12; sslot++) { if(plyAmmo[sslot] != 0) { GivedPlayerWeapon[playerid][plyWeapons[sslot]]=1; GivePlayerWeapon(playerid, plyWeapons[sslot], plyAmmo[sslot]); } } return 1; }
Second - PayDay Bug
My PayDay/PayCheck is showing "SERVER UNKWNOW COMMAND".
I know what part of PayCheck it's bugged, but I don't know why.. I'll put it here:
Код:
new cfaction; new faction = PlayerInfo[i][Faction]; if(faction != 255 && faction < 19 && PlayerInfo[i][Rank] < 19){ new ftipo = DynamicFactions[PlayerInfo[i][Faction]][fType]; if(faction != 255 && ftipo != 5 && ftipo != 6 && ftipo != 7) { cfaction = DynamicFactionsSalario[faction][PlayerInfo[i][Rank]]; new rank[35]; if(PlayerInfo[i][Rank]==1) format(rank, sizeof(rank), "%s", DynamicFactions[PlayerInfo[i][Faction]][fRank1]); if(PlayerInfo[i][Rank]==2) format(rank, sizeof(rank), "%s", DynamicFactions[PlayerInfo[i][Faction]][fRank2]); if(PlayerInfo[i][Rank]==3) format(rank, sizeof(rank), "%s", DynamicFactions[PlayerInfo[i][Faction]][fRank3]); if(PlayerInfo[i][Rank]==4) format(rank, sizeof(rank), "%s", DynamicFactions[PlayerInfo[i][Faction]][fRank4]); if(PlayerInfo[i][Rank]==5) format(rank, sizeof(rank), "%s", DynamicFactions[PlayerInfo[i][Faction]][fRank5]); if(PlayerInfo[i][Rank]==6) format(rank, sizeof(rank), "%s", DynamicFactions[PlayerInfo[i][Faction]][fRank6]); if(PlayerInfo[i][Rank]==7) format(rank, sizeof(rank), "%s", DynamicFactions[PlayerInfo[i][Faction]][fRank7]); if(PlayerInfo[i][Rank]==8) format(rank, sizeof(rank), "%s", DynamicFactions[PlayerInfo[i][Faction]][fRank8]); if(PlayerInfo[i][Rank]==9) format(rank, sizeof(rank), "%s", DynamicFactions[PlayerInfo[i][Faction]][fRank9]); if(PlayerInfo[i][Rank]==10) format(rank, sizeof(rank), "%s", DynamicFactions[PlayerInfo[i][Faction]][fRank10]); if(ftipo==8) { PlayerInfo[i][Bankc] += cfaction; DynamicFactions[0][fBank]-=cfaction; format(wstring, sizeof(wstring), "Salбrio:%d$ [ Rank: %s ] [Balanзo Faction:%d$ ]", cfaction, rank, DynamicFactions[faction][fBank]); SendClientMessage(i, COLOR_WHITE, wstring); } else { new cfactionmetade; cfactionmetade = cfaction/2; if(DynamicFactions[PlayerInfo[i][Faction]][fBank] >= cfactionmetade) { if(DynamicFactions[0][fBank] < cfactionmetade) { cfaction=cfactionmetade; PlayerInfo[i][Bankc] += cfactionmetade; DynamicFactions[PlayerInfo[i][Faction]][fBank]-=cfactionmetade; format(wstring, sizeof(wstring), "Dinheiro Recebido:%d$ [ Rank: %s ] [Balanзo Faction:%d$ ]", cfaction, rank, DynamicFactions[faction][fBank]); SendClientMessage(i, COLOR_WHITE, wstring); format(wstring, sizeof(wstring), "O governo nгo te pagou, por falta de fundos. Recebeste metade do salбrio por parte da tua faction."); SendClientMessage(i, COLOR_WHITE, wstring); } else { PlayerInfo[i][Bankc] += cfaction; DynamicFactions[PlayerInfo[i][Faction]][fBank]-=cfactionmetade; DynamicFactions[0][fBank]-=cfactionmetade; format(wstring, sizeof(wstring), "Salбrio:%d$ [ Rank: %s ] [Balanзo Faction:%d$ ]", cfaction, rank, DynamicFactions[faction][fBank]); SendClientMessage(i, COLOR_WHITE, wstring); } } else { if(DynamicFactions[0][fBank] < cfactionmetade) { cfaction=0; format(wstring, sizeof(wstring), "Dinheiro Recebido: 0$ [ Rank: %s ] [Balanзo Faction:%d$ ]", rank, DynamicFactions[faction][fBank]); SendClientMessage(i, COLOR_WHITE, wstring); format(wstring, sizeof(wstring), "A faction nem o governo te pagaram, por falta de fundos. Manifesta-te contra isto, nгo fiques parado!"); SendClientMessage(i, COLOR_WHITE, wstring); } else { cfaction=cfactionmetade; PlayerInfo[i][Bankc] += cfaction; DynamicFactions[PlayerInfo[i][Faction]][fBank]-=cfactionmetade; DynamicFactions[0][fBank]-=cfactionmetade; format(wstring, sizeof(wstring), "Dinheiro Recebido:%d$ [ Rank: %s ] [Balanзo Faction:%d$ ]", cfaction, rank, DynamicFactions[faction][fBank]); SendClientMessage(i, COLOR_WHITE, wstring); format(wstring, sizeof(wstring), "A faction nгo te pagou, por falta de fundos. Recebeste metade do salбrio por parte do governo."); SendClientMessage(i, COLOR_WHITE, wstring); } } } }}
Third - Car System Bug
Players are loosing vehicles that they bought..
Код:
new UniqueCarroString[MAX_PLAYERS+5][20]; new UniqueCarroEstacionar[MAX_PLAYERS+5][MAX_VEHICLES]; new UniqueCarroDono[MAX_PLAYERS+5][MAX_VEHICLES]; new UniqueCarroUser[MAX_PLAYERS+5][MAX_VEHICLES]; new UniqueCarroNumber[MAX_PLAYERS+5]; stock CarregarCarroDono(playerid) { new sql[128]; new savingstring[20]; format(sql, sizeof(sql), "SELECT * FROM `carrodono` WHERE `player`='%d'",PlayerInfo[playerid][UniqueID]); mysql_query(sql); mysql_store_result(); // new player = PlayerInfo[playerid][UniqueID]; new carro; //UniqueCarroDono[playerid][0]=0; while(mysql_retrieve_row()) { mysql_fetch_field_row(savingstring, "carro"); carro=strval(savingstring); if(PlayerInfo[playerid][CarKey1]==999) { format(sql, sizeof(sql), "DELETE FROM `carrodono` WHERE `player`='%d' AND `carro`='%d'",PlayerInfo[playerid][UniqueID], carro); mysql_query(sql); PlayerInfo[playerid][CarKey1]=carro; } if(PlayerInfo[playerid][CarKey2]==999) { format(sql, sizeof(sql), "DELETE FROM `carrodono` WHERE `player`='%d' AND `carro`='%d'",PlayerInfo[playerid][UniqueID], carro); mysql_query(sql); PlayerInfo[playerid][CarKey1]=carro; } if(PlayerInfo[playerid][CarKey3]==999) { format(sql, sizeof(sql), "DELETE FROM `carrodono` WHERE `player`='%d' AND `carro`='%d'",PlayerInfo[playerid][UniqueID], carro); mysql_query(sql); PlayerInfo[playerid][CarKey1]=carro; } if(PlayerInfo[playerid][CarKey4]==999) { format(sql, sizeof(sql), "DELETE FROM `carrodono` WHERE `player`='%d' AND `carro`='%d'",PlayerInfo[playerid][UniqueID], carro); mysql_query(sql); PlayerInfo[playerid][CarKey1]=carro; } if(PlayerInfo[playerid][CarKey5]==999) { format(sql, sizeof(sql), "DELETE FROM `carrodono` WHERE `player`='%d' AND `carro`='%d'",PlayerInfo[playerid][UniqueID], carro); mysql_query(sql); PlayerInfo[playerid][CarKey1]=carro; } if(PlayerInfo[playerid][CarKey6]==999) { format(sql, sizeof(sql), "DELETE FROM `carrodono` WHERE `player`='%d' AND `carro`='%d'",PlayerInfo[playerid][UniqueID], carro); mysql_query(sql); PlayerInfo[playerid][CarKey1]=carro; } //UniqueCarroDono[playerid][carro]=1; } mysql_free_result(); return 1; } stock GuardarCarroDono(playerid) { new sql[128]; new savingstring[20]; format(sql, sizeof(sql), "SELECT * FROM `carrodono` WHERE `player`='%d'",PlayerInfo[playerid][UniqueID]); mysql_query(sql); mysql_store_result(); new player = PlayerInfo[playerid][UniqueID]; new carro; while(mysql_retrieve_row()) { mysql_fetch_field_row(savingstring, "carro"); carro=strval(savingstring); if(UniqueCarroDono[playerid][carro]==0) { format(sql, sizeof(sql), "DELETE FROM `carrodono` WHERE `player`='%d' AND `carro`='%d'",player, carro); mysql_query(sql); } } mysql_free_result(); return 1; } stock CarregarCarroUser(playerid) { new sql[128]; new savingstring[20]; format(sql, sizeof(sql), "SELECT * FROM `carrouser` WHERE `player`='%d'",PlayerInfo[playerid][UniqueID]); mysql_query(sql); mysql_store_result(); new player = PlayerInfo[playerid][UniqueID]; new carro; UniqueCarroUser[playerid][0]=0; UniqueCarroNumber[playerid]=0; UniqueCarroString[playerid][1]=999; UniqueCarroString[playerid][2]=999; UniqueCarroString[playerid][3]=999; UniqueCarroString[playerid][4]=999; UniqueCarroString[playerid][5]=999; UniqueCarroString[playerid][6]=999; UniqueCarroString[playerid][7]=999; UniqueCarroString[playerid][8]=999; UniqueCarroString[playerid][9]=999; UniqueCarroString[playerid][10]=999; // UniqueCarro[player][11]=999; // UniqueCarro[player][12]=999; // UniqueCarro[player][13]=999; // UniqueCarro[player][14]=999; // UniqueCarro[player][15]=999; // UniqueCarro[player][16]=999; // UniqueCarro[player][17]=999; // UniqueCarro[player][18]=999; // UniqueCarro[player][19]=999; // UniqueCarro[player][20]=999; while(mysql_retrieve_row()) { mysql_fetch_field_row(savingstring, "carro"); carro=strval(savingstring); UniqueCarroUser[playerid][carro]=1; UniqueCarroNumber[playerid]++; UniqueCarroString[playerid][UniqueCarroNumber[playerid]]=carro; } mysql_free_result(); format(sql, sizeof(sql), "SELECT * FROM `carroestacionar` WHERE `player`='%d'",PlayerInfo[playerid][UniqueID]); mysql_query(sql); mysql_store_result(); while(mysql_retrieve_row()) { mysql_fetch_field_row(savingstring, "carro"); carro=strval(savingstring); UniqueCarroEstacionar[playerid][carro]=1; } mysql_free_result(); return 1; } stock GuardarCarroUser(playerid) { new sql[128]; new savingstring[20]; format(sql, sizeof(sql), "SELECT * FROM `carrouser` WHERE `player`='%d'",PlayerInfo[playerid][UniqueID]); mysql_query(sql); mysql_store_result(); new player = PlayerInfo[playerid][UniqueID]; new carro; while(mysql_retrieve_row()) { mysql_fetch_field_row(savingstring, "carro"); carro=strval(savingstring); if(UniqueCarroUser[playerid][carro]==0) { format(sql, sizeof(sql), "DELETE FROM `carrouser` WHERE `player`='%d' AND `carro`='%d'",player, carro); mysql_query(sql); } } mysql_free_result(); format(sql, sizeof(sql), "SELECT * FROM `carroestacionar` WHERE `player`='%d'",PlayerInfo[playerid][UniqueID]); mysql_query(sql); mysql_store_result(); while(mysql_retrieve_row()) { mysql_fetch_field_row(savingstring, "carro"); carro=strval(savingstring); if(UniqueCarroEstacionar[playerid][carro]==0) { format(sql, sizeof(sql), "DELETE FROM `carroestacionar` WHERE `player`='%d' AND `carro`='%d'",player, carro); mysql_query(sql); } } mysql_free_result(); return 1; } public CriarCarroDono(playerid, carroid) { new sQuery[500]; new player = PlayerInfo[playerid][UniqueID]; UniqueCarroDono[playerid][carroid]=1; format(sQuery, sizeof(sQuery), "INSERT INTO `carrodono` (`player`, `carro`) VALUES ('%d', '%d')", player, carroid); if(!mysql_query(sQuery)) { SendClientMessageToAll(COLOR_RED, sQuery); SendClientMessageToAll(COLOR_RED, "ErrorID: 15 - Problemas ao gravar no MySQL!!!"); } mysql_store_result(); mysql_free_result(); return 1; } public CriarCarroUser(playerid, carroid) { // //**new player=PlayerInfo[playerid][UniqueID]; //****UniqueCarroUser[player][carroid]=1; //****UniqueCarroNumber[player]++; //****UniqueCarro[player][UniqueCarroNumber[player]]=carroid; //****new sql[128]; //****format(sql, sizeof(sql), "INSERT INTO `carrouser` (`player`, `carro`) VALUES ('%d', '%d')",player, carroid); //****mysql_query(sql); //****mysql_store_result(); //****mysql_free_result(); // new sQuery[500]; new player = PlayerInfo[playerid][UniqueID]; //if(UniquePlayerLogged[player]==1) //{ UniqueCarroUser[playerid][carroid]=1; UniqueCarroNumber[playerid]++; new cn=UniqueCarroNumber[playerid]; UniqueCarroString[playerid][cn]=carroid; //} format(sQuery, sizeof(sQuery), "INSERT INTO `carrouser` (`player`, `carro`) VALUES ('%d', '%d')", player, carroid); if(!mysql_query(sQuery)) { SendClientMessageToAll(COLOR_RED, sQuery); SendClientMessageToAll(COLOR_RED, "ErrorID: 16 - Problemas ao gravar no MySQL!!!"); } mysql_store_result(); mysql_free_result(); return 1; } public CriarCarroEstacionar(playerid, carroid) { // //****new player=PlayerInfo[playerid][UniqueID]; //****UniqueCarroUser[player][carroid]=1; //****UniqueCarroNumber[player]++; //****UniqueCarro[player][UniqueCarroNumber[player]]=carroid; //****new sql[128]; //****format(sql, sizeof(sql), "INSERT INTO `carrouser` (`player`, `carro`) VALUES ('%d', '%d')",player, carroid); //****mysql_query(sql); //****mysql_store_result(); //****mysql_free_result(); // new sQuery[500]; new player = PlayerInfo[playerid][UniqueID]; //if(UniquePlayerLogged[player]==1) //{ UniqueCarroEstacionar[playerid][carroid]=1; //} format(sQuery, sizeof(sQuery), "INSERT INTO `carroestacionar` (`player`, `carro`) VALUES ('%d', '%d')", player, carroid); if(!mysql_query(sQuery)) { SendClientMessageToAll(COLOR_RED, sQuery); SendClientMessageToAll(COLOR_RED, "ErrorID: 25 - Problemas ao gravar no MySQL!!!"); } mysql_store_result(); mysql_free_result(); return 1; } stock EliminarCarroCenas(carroid) { new sQuery[500]; format(sQuery, sizeof(sQuery), "DELETE FROM carrouser WHERE carro='%d'", carroid); if(!mysql_query(sQuery)) { SendClientMessageToAll(COLOR_RED, sQuery); SendClientMessageToAll(COLOR_RED, "ErrorID: 26 - Problemas ao gravar no MySQL!!!"); } format(sQuery, sizeof(sQuery), "DELETE FROM carrodono WHERE carro='%d'", carroid); if(!mysql_query(sQuery)) { SendClientMessageToAll(COLOR_RED, sQuery); SendClientMessageToAll(COLOR_RED, "ErrorID: 26 - Problemas ao gravar no MySQL!!!"); } format(sQuery, sizeof(sQuery), "DELETE FROM carroestacionar WHERE carro='%d'", carroid); if(!mysql_query(sQuery)) { SendClientMessageToAll(COLOR_RED, sQuery); SendClientMessageToAll(COLOR_RED, "ErrorID: 26 - Problemas ao gravar no MySQL!!!"); } return 1; }
Please help me, thanks!