Hallo Breadfish !
Ich habe eine Frage und zwar ,
habe ich hier einen Job gescriptet , wo das ganze system einen kleinen Haken hat .
Wie es eigendlich laufen sollte :
Der Spieler nimmt mit /annehmen und dann einer Auswahl eine von den 2 Fahrten in LS an .
Dann muss er sich ein Car vom Hof nehmen und damit die Checkpoints ( Quelle 1 + 2 ) annehmen.
Wie bestimmt wird , welcher Checkpoint wann welche Aufgabe hatt , wird über SetPVarInt und GetPVarInt ( Quelle 3 )
Problem :
Wenn der Job im Multiplayer gespielt / getestet wird , kann es oft passieren , dass der Timer auf ein anderen Spieler umchaltet ?!
Alles ist auch mit einen Timer aufgebaut ( Quelle 4 )
Diesen Bug / Scriptproblem möchte ich gerne gelöst haben...
Danke im Vorraus
Mfg.
Niknew
Quelle 1:
if(dialogid==DIALOG_MULL)
{
if(listitem == 0)
{
SetPlayerCheckpoint(playerid,985,-944.5,41.4,5);
SendClientMessage(playerid,grün,"Setze dich in einen Müllwagen vom Hof und fahre die Checkpoints ab !");
SetPVarInt(playerid,"M11",1);
SpielerSpeichern(playerid);
return 1;
}
if(listitem == 1)
{
SendClientMessage(playerid,grün,"Setze dich in einen Müllwagen vom Hof und fahre die Checkpoints ab !");
SetPVarInt(playerid,"M21",1);
SetPlayerCheckpoint(playerid,2222.6,-1162.7,25.7,5);
SpielerSpeichern(playerid);
return 1;
}
}
Quelle 2:
if(GetPVarInt(playerid,"M17")==1)
{
SetPlayerCheckpoint(playerid,961.3,-936.4,41.4,5);
SetPVarInt(playerid,"M17",0);
SendClientMessage(playerid,grau,"Die Mülltonne wird geleert ... Das kann ca. 8 - 15 sekunden dauern!");
SetPVarInt(playerid,"M18",1);
SpielerSpeichern(playerid);
SetTimer("M1",1000*7,false);
TogglePlayerControllable(playerid,0);
return 1;
}
if(GetPVarInt(playerid,"M18")==1)
{
SendClientMessage(playerid,grün,"Erfolgreich Fahrt beendet");
SetPVarInt(playerid,"M18",0);
SendClientMessage(playerid,lila,"************** ZAHLTAG **************");
SendClientMessage(playerid,weiß,"*** ZAHLTAG *** : 125 $ Grund - Lohn ");
SendClientMessage(playerid,weiß,"*** ZAHLTAG *** : + 10 $ Streckenlohn");
SendClientMessage(playerid,weiß,"*** ZAHLTAG *** : + 5 $ Arbeitsbonus ");
SendClientMessage(playerid,weiß,"-------------------------------------");
SendClientMessage(playerid,weiß,"*** ZAHLTAG *** : 140 $ Lohn ");
SendClientMessage(playerid,lila,"*************************************");
GivePlayerMoney(playerid,140);
DisablePlayerCheckpoint(playerid);
return 1;
}
Quelle 3:
stock LoadAccount(playerid)
{
new Spielerdatei[64];
new name [MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/%s.txt",name);
SetPlayerScore(playerid,dini_Int(Spielerdatei,"Level"));
GivePlayerMoney(playerid,dini_Int(Spielerdatei,"Geld"));
SetPVarInt(playerid,"Adminlevel",dini_Int(Spielerdatei,"Adminlevel"));
SetPVarInt(playerid,"Fraktion",dini_Int(Spielerdatei,"Fraktion"));
SetPVarInt(playerid,"Job",dini_Int(Spielerdatei,"Job"));
SetPVarInt(playerid,"Banned",dini_Int(Spielerdatei,"Banned"));
SetPVarInt(playerid,"Paytime",dini_Int(Spielerdatei,"Paytime"));
SetPVarInt(playerid,"Respeckt",dini_Int(Spielerdatei,"Respeckt"));
SetPVarInt(playerid,"LS Arena",dini_Int(Spielerdatei,"LS Arena"));
SetPVarInt(playerid,"Karte LS",dini_Int(Spielerdatei,"Karte LS"));
SetPVarInt(playerid,"Leader",dini_Int(Spielerdatei,"Leader"));
SetPVarInt(playerid,"Knast",dini_Int(Spielerdatei,"Knast"));
SetPVarInt(playerid,"Farmerlohn",dini_Int(Spielerdatei,"Farmerlohn"));
SetPVarInt(playerid,"M11",dini_Int(Spielerdatei,"M11"));
SetPVarInt(playerid,"M12",dini_Int(Spielerdatei,"M12"));
SetPVarInt(playerid,"M13",dini_Int(Spielerdatei,"M13"));
SetPVarInt(playerid,"M14",dini_Int(Spielerdatei,"M14"));
SetPVarInt(playerid,"M15",dini_Int(Spielerdatei,"M15"));
SetPVarInt(playerid,"M16",dini_Int(Spielerdatei,"M16"));
SetPVarInt(playerid,"M17",dini_Int(Spielerdatei,"M17"));
SetPVarInt(playerid,"M18",dini_Int(Spielerdatei,"M18"));
SetPVarInt(playerid,"M21",dini_Int(Spielerdatei,"M21"));
SetPVarInt(playerid,"M22",dini_Int(Spielerdatei,"M22"));
SetPVarInt(playerid,"M23",dini_Int(Spielerdatei,"M23"));
SetPVarInt(playerid,"M24",dini_Int(Spielerdatei,"M24"));
SetPVarInt(playerid,"M25",dini_Int(Spielerdatei,"M25"));
SetPVarInt(playerid,"M26",dini_Int(Spielerdatei,"M26"));
SetPVarInt(playerid,"M27",dini_Int(Spielerdatei,"M27"));
SetPVarInt(playerid,"M28",dini_Int(Spielerdatei,"M28"));
//Spielerinfo[playerid][Fraktion]=dini_Int(Spielerdatei,"Fraktion");
//Spielerinfo[playerid][Adminlevel]=dini_Int(Spielerdatei,"Adminlevel");
if(GetPVarInt(playerid,"Banned")==1)
{
SendClientMessage(playerid,hellrot,"Du bist gebannt !");
Kick(playerid);
return 1;
}
SetPlayerColor(playerid,weiß);
SetPVarInt(playerid,"loggedin",1);
return 1;
}
Quelle 4 :
public M1 (playerid)
{
SendClientMessage(playerid,weiß,"Die Mülltonne ist nun geleert ... Fahre zum nächsten Checkpoint");
TogglePlayerControllable(playerid,1);
return 1;
}