09.10.2009, 20:40
Hello. I wanted to ask, i am using many "if" in my functions. I know it's silly question but i just want to stand correct
Can it be crashing or something bugging?
Eg.:
or
And i want to ask how i can get less code for creating races. There is pastebin link: http://pastebin.com/f7d8c6612 It's not very full script, because i cut it from my gamemode. But it's main functions. So maybe it's better way to create races. I am waiting for offers. Thanks for helping!
![Smiley](images/smilies/smile.png)
Eg.:
Код:
public OnPlayerDisconnect(playerid,reason){ new stringB[256]; new Reason[256]; new moneys = GetPlayerMoney(playerid); new vehid = GetPlayerVehicleID(playerid); new file[128]; if(PlayerInfo[playerid][LoggedIn] == 0){ }else{ dUserSetINT(PlayerName2(playerid)).("Moneys",moneys); KillTimer(OnlineTimer[playerid]); } format(file, sizeof(file), "F_AntiCheat/id_%i.ini", playerid); dini_IntSet(file, "Money", 0); PlayerInfo[playerid][Spam] = 0; Spawned[playerid] = 0; blockbug[playerid] = false; bugwarns[playerid] = 0; PingWarn[playerid]=0; PlayerProps[playerid] = 0; EarningsForPlayer[playerid] = 0; ExperienceForPlayer[playerid] = 0; ResetPlayerWeapons(playerid); PlayerInfo[playerid][LoggedIn] = 0; DOO_OnPlayerDisconnect(playerid); dUserSetINT(PlayerName2(playerid)).("SpawnNone",0); dUserSetINT(PlayerName2(playerid)).("SpawnSF",0); dUserSetINT(PlayerName2(playerid)).("SpawnLV",0); dUserSetINT(PlayerName2(playerid)).("SpawnHouse",0); dUserSetINT(PlayerName2(playerid)).("SpawnGang",0); if(InHouse[playerid]==1){ InHouse[playerid]=0; } if(dUserINT(PlayerName2(playerid)).("InDm") == 1){ dUserSetINT(PlayerName2(playerid)).("InDm",0); dUserSetINT(PlayerName2(playerid)).("DM",0); } dUserSetINT(PlayerName2(playerid)).("InShamal",0); if(dUserINT(PlayerName2(playerid)).("InDrag") == 1){ SetVehiclePos(vehid,dUserFLOAT(PlayerName2(playerid)).("PosX"),dUserFLOAT(PlayerName2(playerid)).("PosY"),dUserFLOAT(PlayerName2(playerid)).("PosZ")); SetVehicleZAngle(vehid,dUserFLOAT(PlayerName2(playerid)).("PosR")); SetVehicleVirtualWorld(vehid,0); SetPlayerVirtualWorld(playerid,0); dUserSetINT(PlayerName2(playerid)).("InDrag",0); dUserSetINT(PlayerName2(playerid)).("Drager",0); DisablePlayerRaceCheckpoint(playerid); EndDrag(); DragCheckpoint[playerid] = 0; } if(dUserINT(PlayerName2(playerid)).("InRace") == 1){ SetVehiclePos(vehid,dUserFLOAT(PlayerName2(playerid)).("PosX"),dUserFLOAT(PlayerName2(playerid)).("PosY"),dUserFLOAT(PlayerName2(playerid)).("PosZ")); SetVehicleZAngle(vehid,dUserFLOAT(PlayerName2(playerid)).("PosR")); SetVehicleVirtualWorld(vehid,0); SetPlayerVirtualWorld(playerid,0); dUserSetINT(PlayerName2(playerid)).("InRace",0); dUserSetINT(PlayerName2(playerid)).("InvitedToRace",0); dUserSetINT(PlayerName2(playerid)).("RaceCreator",0); dUserSetINT(PlayerName2(playerid)).("Racer",0); RaceCheckpoint[playerid] = 0; DisablePlayerRaceCheckpoint(playerid); KillTimer(CheckpointTimer[playerid]); Racers--; } if(dUserINT(PlayerName2(playerid)).("Muted") == 1){ KillTimer(MuteTimer[playerid]); } switch(reason) { case 0: Reason = "Error"; case 1: Reason = "-"; case 2: Reason = "Kick/Ban"; } format(stringB,sizeof(stringB),"*[INFO]: '%s' (id %d) paliko serveri. (Priezastis: %s ) *",PlayerName(playerid), playerid, Reason); SendClientMessageToAll(COLOR_RED1,stringB); return 1; }
Код:
public OnPlayerSpawn(playerid){ SetPlayerInterior(playerid,0); PlayerPlaySound(playerid, 1098, 0.0, 0.0, 0.0); TextDrawShowForPlayer(playerid,txtClassSelHelper); TextDrawShowForPlayer(playerid,txtTimeDisp); new hour, minute; gettime(hour, minute); SetPlayerTime(playerid,hour,minute); if(dUserINT(PlayerName2(playerid)).("SpawnNone") == 1) { SetPlayerPos(playerid,-87.3161,1378.4067,10.2734); SetPlayerInterior(playerid, 0); SetPlayerVirtualWorld(playerid, 0); SetPlayerWorldBounds(playerid,9999.9,-9999.9,9999.9,-9999.9); new listitems[] = "*\tSan Fierro\n*\tLas Venturas\n*\tNamas\n*\tGaujos bazл"; ShowPlayerDialog(playerid,3,DIALOG_STYLE_LIST,"Pasirinkite spawn vietа:",listitems,"Pasirinkti","Atрaukti"); } else if(dUserINT(PlayerName2(playerid)).("SpawnNone") == 2) { if(dUserINT(PlayerName2(playerid)).("SpawnHouse") == 1) { new hosid = dUserINT(PlayerName2(playerid)).("HouseID"); SetPlayerInterior(playerid,dini_Int(housefile(hosid), "Interior")); SetPlayerVirtualWorld(playerid,dini_Int(housefile(hosid), "World")); SetPlayerPos(playerid,dini_Float(housefile(hosid), "IntX"),dini_Float(housefile(hosid), "IntY"),dini_Float(housefile(hosid), "IntZ")); TogglePlayerControllable(playerid,true); InHouse[playerid]=1; dUserSetFLOAT(PlayerName2(playerid)).("HouseX",dini_Float(housefile(hosid), "HosX")); dUserSetFLOAT(PlayerName2(playerid)).("HouseY",dini_Float(housefile(hosid), "HosY")); dUserSetFLOAT(PlayerName2(playerid)).("HouseZ",dini_Float(housefile(hosid), "HosZ")); } else if(dUserINT(PlayerName2(playerid)).("SpawnGang") == 1) { SetPlayerPos(playerid,dUserFLOAT(PlayerName2(playerid)).("GangSpawnX"),dUserFLOAT(PlayerName2(playerid)).("GangSpawnY"),dUserFLOAT(PlayerName2(playerid)).("GangSpawnZ")); SetPlayerInterior(playerid, 0); SetPlayerVirtualWorld(playerid, 0); SetPlayerWorldBounds(playerid,9999.9,-9999.9,9999.9,-9999.9); TogglePlayerControllable(playerid,true); } } else if(dUserINT(PlayerName2(playerid)).("SpawnSF") == 1) { PlayerSpawnSF(playerid); SetPlayerInterior(playerid, 0); SetPlayerVirtualWorld(playerid, 0); SetPlayerWorldBounds(playerid,9999.9,-9999.9,9999.9,-9999.9); } else if(dUserINT(PlayerName2(playerid)).("SpawnLV") == 1) { ResetPlayerWeapons(playerid); SetPlayerInterior(playerid, 0); SetPlayerVirtualWorld(playerid, 0); PlayerSpawnLV(playerid); SetPlayerWorldBounds(playerid,9999.9,-9999.9,9999.9,-9999.9); } return 1; }