ich hab jetzt bestimmt ne minuten doof rumgesprüht
Beiträge von fenestro
-
-
es steht nichts in der Konsole
-
Ja dann kann der Tank doch garnicht leer werden
bei meinem alten code wurde man neu reingesetzt sobald der tank leer war.
-
Weis nicht wieso aber es geht nicht.
man kann endlos strg oder lmb drücken//Edit:
ist for nicht eine schleife? -
-
Dankesehr
-
Ich hab ein Tanksystem für Feuerwehrwagen gemacht, nur leider hab ich " ein paar" warnings die ich nicht weg bekomme.
oben:
Codenew flot:wassert0 = 1000; new flot:wassert1 = 1000; new flot:wassert2 = 1000; new flot:wassert3 = 1000; new wassertt0; new wassertt1; new wassertt2; new wassertt3;
onplayerkeystatechange
Code
Alles anzeigenif ((newkeys & KEY_FIRE || KEY_ACTION ) && !(oldkeys & KEY_FIRE || KEY_ACTION )) { if(IsPlayerInVehicle(playerid, feuercar[0])) { if(wassert0>=1) { wassertt0 = SetTimer("wasserttimer0", 1000, false); } else { RemovePlayerFromVehicle(playerid); PutPlayerInVehicle(playerid, feuercar[0], 0); } } else if(IsPlayerInVehicle(playerid, feuercar[1])) { if(wassert1>=1) { wassertt1 = SetTimer("wasserttimer1", 1000, false); } else { RemovePlayerFromVehicle(playerid); PutPlayerInVehicle(playerid, feuercar[1], 0); } } else if(IsPlayerInVehicle(playerid, feuercar[2])) { if(wassert2>=1) { wassertt2 = SetTimer("wasserttimer2", 1000, false); } else { RemovePlayerFromVehicle(playerid); PutPlayerInVehicle(playerid, feuercar[2], 0); } } else if(IsPlayerInVehicle(playerid, feuercar[3])) { if(wassert3>=1) { wassertt3 = SetTimer("wasserttimer3", 1000, false); } else { RemovePlayerFromVehicle(playerid); PutPlayerInVehicle(playerid, feuercar[3], 0); } } } if ((oldkeys & KEY_FIRE || KEY_ACTION) && !(newkeys & KEY_FIRE || KEY_ACTION)) { if(IsPlayerInVehicle(playerid, feuercar[0])) { KillTimer(wassertt0); } else if(IsPlayerInVehicle(playerid, feuercar[1])) { KillTimer(wassertt1); } else if(IsPlayerInVehicle(playerid, feuercar[2])) { KillTimer(wassertt2); } else if(IsPlayerInVehicle(playerid, feuercar[3])) { KillTimer(wassertt3); } }
unten:
Code
Alles anzeigenpublic wasserttimer0(playerid) { if(wassert0 >=1) { wassert0 = wassert0 - 500; KillTimer(wassertt0); wassertt0= SetTimer("wasserttimer0", 1000, false); } else { RemovePlayerFromVehicle(playerid); PutPlayerInVehicle(playerid, feuercar[0], 0); } } public wasserttimer1(playerid) { if(wassert1 >=1) { wassert1 = wassert1 - 500; KillTimer(wassertt1); wassertt1= SetTimer("wasserttimer1", 1000, false); } else { RemovePlayerFromVehicle(playerid); PutPlayerInVehicle(playerid, feuercar[1], 0); } } public wasserttimer2(playerid) { if(wassert2 >=1) { wassert2 = wassert2 - 500; KillTimer(wassertt2); wassertt2= SetTimer("wasserttimer2", 1000, false); } else { RemovePlayerFromVehicle(playerid); PutPlayerInVehicle(playerid, feuercar[2], 0); } } public wasserttimer3(playerid) { if(wassert3 >=1) { wassert3 = wassert3 - 500; KillTimer(wassertt3); wassertt3= SetTimer("wasserttimer3", 1000, false); } else { RemovePlayerFromVehicle(playerid); PutPlayerInVehicle(playerid, feuercar[3], 0); } }
Die Errors:
Code
Alles anzeigenC:\Users\Stefan\Desktop\serer\gamemodes\Emotion.pwn(60) : warning 213: tag mismatch C:\Users\Stefan\Desktop\serer\gamemodes\Emotion.pwn(61) : warning 213: tag mismatch C:\Users\Stefan\Desktop\serer\gamemodes\Emotion.pwn(62) : warning 213: tag mismatch C:\Users\Stefan\Desktop\serer\gamemodes\Emotion.pwn(63) : warning 213: tag mismatch C:\Users\Stefan\Desktop\serer\gamemodes\Emotion.pwn(9405) : warning 213: tag mismatch C:\Users\Stefan\Desktop\serer\gamemodes\Emotion.pwn(9418) : warning 213: tag mismatch C:\Users\Stefan\Desktop\serer\gamemodes\Emotion.pwn(9431) : warning 213: tag mismatch C:\Users\Stefan\Desktop\serer\gamemodes\Emotion.pwn(9444) : warning 213: tag mismatch C:\Users\Stefan\Desktop\serer\gamemodes\Emotion.pwn(13868) : warning 235: public function lacks forward declaration (symbol "wasserttimer0") C:\Users\Stefan\Desktop\serer\gamemodes\Emotion.pwn(13872) : warning 213: tag mismatch C:\Users\Stefan\Desktop\serer\gamemodes\Emotion.pwn(13874) : warning 213: tag mismatch C:\Users\Stefan\Desktop\serer\gamemodes\Emotion.pwn(13885) : warning 235: public function lacks forward declaration (symbol "wasserttimer1") C:\Users\Stefan\Desktop\serer\gamemodes\Emotion.pwn(13889) : warning 213: tag mismatch C:\Users\Stefan\Desktop\serer\gamemodes\Emotion.pwn(13891) : warning 213: tag mismatch C:\Users\Stefan\Desktop\serer\gamemodes\Emotion.pwn(13902) : warning 235: public function lacks forward declaration (symbol "wasserttimer2") C:\Users\Stefan\Desktop\serer\gamemodes\Emotion.pwn(13906) : warning 213: tag mismatch C:\Users\Stefan\Desktop\serer\gamemodes\Emotion.pwn(13908) : warning 213: tag mismatch C:\Users\Stefan\Desktop\serer\gamemodes\Emotion.pwn(13919) : warning 235: public function lacks forward declaration (symbol "wasserttimer3") C:\Users\Stefan\Desktop\serer\gamemodes\Emotion.pwn(13922) : warning 213: tag mismatch C:\Users\Stefan\Desktop\serer\gamemodes\Emotion.pwn(13924) : warning 213: tag mismatch Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase 20 Warnings.
Es währe wahrscheinlich auch mit weniger Timern gegangen aber ich bekomms anders nicht hin
mfg
fenestro -
Hat noch wer eine Idee wie das klappen könnte?
irgendwie bekomme ichs nicht auf die reihe.
-
-
Täuscht es mich oder hab ich da einen Fail mit den kminuten beim Timer?
Beim Timer müsste man ja Milisekunden eintragen oder?
-
Also das mit dem speichern der PVars muss ich mir wohl nochmal anschauen aber dankesehr
@[GD]HaZeBuster deins versteh ich irgendwie nicht
-
-
Ich hab grad ein kleines Problem, wiedermal
Also das ist mein Knastsystem:
if(!isPlayerInFrakt(playerid,1))return SendClientMessage(playerid,COLOR_RED,"Du bist kein LSPD Beamter");
new pID, rang, kminuten;
if(sscanf(params,"uii",pID,rang,kminuten))return SendClientMessage(playerid,COLOR_RED,"/knast [ID] [Geld] [Minuten]");
if(GetPlayerWantedLevel(pID) >= 1)
{
if(Spielerdistanz(playerid,pID) < 5)
{
if(IsPlayerInRangeOfPoint(playerid,10.0,190.2161,178.3430,1003.0234))
{
SetPlayerPos(pID,198.0773,161.7927,1003.0300);
new string[128];
format(string,sizeof(string),"Du hast %s eingesperrt. +%i$",SpielerName(playerid),rang);
SendClientMessage(playerid,COLOR_WHITE,string);
GivePlayerMoney(playerid,rang);
format(string,sizeof(string),"Du wurdest von Officer %s für %i Minuten in den Knast eingesperrt. -%i$",SpielerName(playerid),kminuten,rang);
SendClientMessage(playerid,COLOR_WHITE,string);
GivePlayerMoney(pID,-rang);
SetPlayerWantedLevel(pID,0);
format(string,sizeof(string),"Officer %s hat %s in den Knast eingesperrt. Gute Arbeit!",SpielerName(playerid),SpielerName(pID));
SendClientMessage(playerid,COLOR_NEWS,string);
SetTimerEx("InKnast", kminuten, 0, "i", pID);
SetPVarInt(pID,"Knast",1);}
else SendClientMessage(playerid,COLOR_RED,"Du bist nicht bei den Zellen");
}
else SendClientMessage(playerid,COLOR_RED,"Der Spieler steht nicht neben dir!");
}
else SendClientMessage(playerid,COLOR_RED,"Der Spieler hat keine Wanted´s!");
return 1;
}Mein Problem ist das das ganze nicht gespeichert wird, was ja klar ist weil nur ein Timer da ist.
Meine Überlegung wie ich es lösen würde:
eine Variable die die minuten beinhaltet und ein Timer der jede Minute -1 zählt. und bei OnPlayerDisconnect die Variable speichern und bei OnGameModeInit abfragen ob die Variable >0 ist und dann halt einknasten oder nicht ^^.MeinProblem:
Ich weis nicht welche "Art" von Varible ich verwenden muss und habe noch nie mit Dini gearbeitet.
Währe schön wenn mir das jmnd. erklären könnte
mfg
fenestro -
Danke Acrio, werd das zu Hause mal testen
-
Ich habs doch oben geschrieben.
Versuch du mal den pwn tag am handy zu machen
-
new X, Y, Z, X2, Y2, Z2;
ocmd:savelook(playerid)
{GetPlayerCameraPos (playerid, X, Y, Z);
return 1;
}ocmd:lookat(playerid);
{GetPlayerPos (playerid, X2, Y2, Z2);
return 1;
}
ocmd:watch(playerid);
{
SetPlayerCameraLookAt(playerid, X2, Y2, Z2,
CAMERA_MOVE);
SetPlayerCameraPos ( playerid, X , Y, Z ) ;
return 1;
}So?
-
Und wie erstelle ich eine globale Variable?
-
ocmd:savelook(playerid)
{
new Float:X, Float:y, Float:Z;GetPlayerCameraPos (playerid, X, Y, Z);
return 1;
}ocmd:lookat(playerid);
{
new Float:X2, Float:Y2, Float:Z2;
GetPlayerPos (playerid, X2, Y2, Z2);
return 1;
}
ocmd:watch(playerid);
{
SetPlayerCameraLookAt(playerid, X2, Y2, Z2,
CAMERA_MOVE);
SetPlayerCameraPos ( playerid, X , Y, Z ) ;
return 1;
}würde das so gehen oder hab ich da was verwechselt? Bin am Handy darum kein pwn tag
mfg
fenestro -
kann mir jmnd kurz und bündig die verwendung von pvars erklären?
ich habe noch nicht mit ihnen gearbeitet.//edit:
Acrioohne GetPlayerCameraPos und SetPlayerCameraPos kann es nicht gehen.
-
Nein ein watch playerid brauch ich sowieso nicht. Das dient für etwas anderes, aber das werdet ihr noch früh genug hören
//Edit:
Okay ich checks grad nicht.Also es sollte nur 1x das ganze gespeichert werden. Also spieler 1 gibt /savelook ein und später spieler 2. man sollte dann wer /watch das vom letzten sehen der /savelook eingegeben hat.
Hoffe jetzt ist es verständlich
//edit
gibts wirklich keine andere möglichkeit auser mit dini anzuspeichern?
das erscheint mir schon sehr umständlich