Morph1 Geplaatst: 28 augustus 2010 Rapport Geplaatst: 28 augustus 2010 (bewerkt) hallo, ik probeer een countdown te maken voor een cannon, alleen die public van de countdown zegt overal waar playerid staat undefined symbol "playerid" hier de code //bovenaan de forwards en de new's //countdown voor cannon new Count = -1; // is de timer voor de counter new CountdownTimer; // is de timer definitie voor de counter forward Countdown(); // om een warning te voorkomen public OnPlayerEnterCheckpoint(playerid) { SetTimer("Countdown", 1000, 1); TogglePlayerControllable(playerid,0); return 1; } 3070 public Countdown() 3071 { 3072 if(Count == 0) 3073 { 3074 GameTextForPlayer(playerid,"~r~launch!", 1000, 0); 3075 SetVehicleVelocity(GetPlayerVehicleID(playerid),0,25,0); 3076 KillTimer(CountdownTimer); 3077 TogglePlayerControllable(playerid, 1); 3078 } 3079 if(Count == 3) 3080 { 3081 GameTextForPlayer(playerid,"~r~3",1500,0 3082 SetVehiclePos(GetPlayerVehicleID(playerid),2407.0696,-2203.8452,24.1977); 3083 SetPlayerFacingAngle(playerid, 45.4094); 3084 } 3085 else 3086 { 3087 new string[128]; 3088 format(string, sizeof(string), "%d", Count); 3089 GameTextForAll(string, 1500, 0); 3090 Count--; 3091 } 3092 return 1; 3093 } //------------credits to spike2148 (van zijn tut "race met checkpoints" //------------met aanpassingen van Morph1 weet iemand wat hier mis is? Bewerkt: 28 augustus 2010 door Morph1 Reageren
Big Boss Geplaatst: 28 augustus 2010 Rapport Geplaatst: 28 augustus 2010 Logisch, want je geeft het playerid niet door aan de functie. Ook je KillTimer zal niet werken, omdat CountdownTimer altijd 0 is. En als ik nu even goed kijk kan ik besluiten dat die functie nooit zal werken, omdat count -1 is, en dus alleen maar verder zal aftellen naar -2, -3, ... tot in het oneindige. http://wiki.sa-mp.com/wiki/SetTimerEx forward Countdown(playerid); new Count = 5; // We beginnen met 5 SetPVarInt(playerid, "CountdownTimer", SetTimerEx("Countdown", 1000, true, "d", playerid)); // We slaan het id van die timer tijdelijk op in een player variabele if(Count == 0) { KillTimer(GetPVarInt(playerid, "CountdownTimer")); DeletePVar(playerid, "CoundownTimer"); } Reageren
Morph1 Geplaatst: 28 augustus 2010 Auteur Rapport Geplaatst: 28 augustus 2010 dus nu kan ik met jou countdown de count op 3 zetten en "if(Count == 3)" toevoegen met al die troep eronder??? of werkt het dan weer niet? Reageren
Morph1 Geplaatst: 31 augustus 2010 Auteur Rapport Geplaatst: 31 augustus 2010 (bewerkt) nu werkt hij helemaal niet meer: public OnPlayerEnterCheckpoint(playerid) { SetTimer("Countdown", 10, 1); TogglePlayerControllable(playerid, 0); return 1; } forward Countdown(playerid); public Countdown(playerid) { new Count = 5;// We beginnen met 3 SetPVarInt(playerid, "CountdownTimer", SetTimerEx("Countdown", 1000, true, "d", playerid));// We slaan het id van die timer tijdelijk op in een player variabele if(Count == 0) { KillTimer(GetPVarInt(playerid, "CountdownTimer")); DeletePVar(playerid, "CoundownTimer"); GameTextForPlayer(playerid,"~r~launch",1000,0); SetVehicleVelocity(GetPlayerVehicleID(playerid),0,25,0); TogglePlayerControllable(playerid,1); } if(Count == 1) { TogglePlayerControllable(playerid,0); } if(Count == 3) { SetVehiclePos(GetPlayerVehicleID(playerid),2407.0696,-2203.8452,24.1977); SetVehicleZAngle(GetPlayerVehicleID(playerid),45.4094); } else { new string[128]; format(string, sizeof(string), "%d", Count); GameTextForAll(string, 1500, 0); Count--; } return 1; } nu word de speler bevroren en komt er alleen maar 5 seconde lang het getal 5 in beeld, en daarna weer, en weer, en weer enz. Bewerkt: 31 augustus 2010 door Morph1 Reageren
Big Boss Geplaatst: 31 augustus 2010 Rapport Geplaatst: 31 augustus 2010 Dit zou het in principe moeten doen: http://pawn.pastebin.com/KTKmzHLT Reageren
Morph1 Geplaatst: 1 september 2010 Auteur Rapport Geplaatst: 1 september 2010 Dit zou het in principe moeten doen: http://pawn.pastebin.com/KTKmzHLT ok hij werkt alleen er staat gametextforall(blabla) nu wordt van alle spelers bij elke seconde de status gereset, dus als je loopt staat als er een seconde voorbij gaat weer ineens stil. als ik van GameTextForAll(blabla) nu GameTextForPlayer(blabla) maak klopt die format niet meer en geeft hij de error argument type mismatch (argument 1) in de regel van GameTextForPlayer(blabla) weet iemand hoe je ervoor kan zorgen dat alleen de speler die de checkpoint ingaat de countdown in beeld krijgt? Reageren
Recommended Posts
Een reactie plaatsen
Je kan nu een reactie plaatsen en pas achteraf registreren. Als je al lid bent, log eerst in om met je eigen account een reactie te plaatsen.