November 6, 200916 yr Goedemorgn Iedereen (; In mn GM hebk een Float: //Top of the script new Float:SpawnLoc[4] = {1.1, 1.1, 1.1, 1}; Nu wil ik een command maken, waarmee ik die float kan wijzigin in bv 2.2, 2.2, 2.2, 2. Hoe doe ik dit precies? Thanks (:
November 6, 200916 yr Als het goed is kan je nu op elk gewenst punt het volgende doen: SpawnLoc[0] = 2.2; SpawnLoc[1] = 2.2; SpawnLoc[2] = 2.2; SpawnLoc[3] = 2; Het slot [4] word hier niet gebruikt.
November 6, 200916 yr Author Als het goed is kan je nu op elk gewenst punt het volgende doen: SpawnLoc[0] = 2.2; SpawnLoc[1] = 2.2; SpawnLoc[2] = 2.2; SpawnLoc[3] = 2; Het slot [4] word hier niet gebruikt. Zover was ik ook al, maar die lijkt niet te werken... Mn code; //Vanboven in het script new Float:SpawnLocGrove[4] = {1.1,1.1,1.1,1.1}, Float:SpawnLocBallas[4] = {1.1,1.1,1.1,1.1}; new Float:WarLocGrove[2][4] = { {217.7683,1856.1923,13.0176,6.0815}, // loc1 {213.9867,1884.2385,98.3855,1.1} // loc2 }, Float:WarLocBallas[2][4] = { {358.380859375, 2703.884765625, 308.44915771484, 5.4547119140625}, // loc1 {213.9867,1884.2385,98.3855,1.1} // loc2 }; //Onder OnGameModeInit SetWar(1); AddPlayerClassEx(TEAM_GROVE, 105, SpawnLocGrove[0], SpawnLocGrove[1], SpawnLocGrove[2], SpawnLocGrove[3], 0, 0, 0, 0, 0, 0); AddPlayerClassEx(TEAM_GROVE, 106, SpawnLocGrove[0], SpawnLocGrove[1], SpawnLocGrove[2], SpawnLocGrove[3], 0, 0, 0, 0, 0, 0); AddPlayerClassEx(TEAM_GROVE, 107, SpawnLocGrove[0], SpawnLocGrove[1], SpawnLocGrove[2], SpawnLocGrove[3], 0, 0, 0, 0, 0, 0); AddPlayerClassEx(TEAM_BALLAS, 102, SpawnLocBallas[0], SpawnLocBallas[1], SpawnLocBallas[2], SpawnLocBallas[3], 0, 0, 0, 0, 0, 0); AddPlayerClassEx(TEAM_BALLAS, 103, SpawnLocBallas[0], SpawnLocBallas[1], SpawnLocBallas[2], SpawnLocBallas[3], 0, 0, 0, 0, 0, 0); AddPlayerClassEx(TEAM_BALLAS, 104, SpawnLocBallas[0], SpawnLocBallas[1], SpawnLocBallas[2], SpawnLocBallas[3], 0, 0, 0, 0, 0, 0); //En ten slotte stock SetWar(i) stock SetWar(i) { switch(i) { case 1: { SpawnLocGrove[0] = WarLocGrove[0][0]; SpawnLocGrove[1] = WarLocGrove[0][1]; SpawnLocGrove[2] = WarLocGrove[0][2]; SpawnLocGrove[3] = WarLocGrove[0][3]; SpawnLocBallas[0] = WarLocBallas[0][0]; SpawnLocBallas[1] = WarLocBallas[0][1]; SpawnLocBallas[2] = WarLocBallas[0][2]; SpawnLocBallas[3] = WarLocBallas[0][3]; for(new p = 0; p <= MAX_PLAYERS; p++) { if(IsPlayerConnected(i) && GetPlayerTeam(p) == Ballas) { SetPlayerPos(p,WarLocBallas[0][0], WarLocBallas[0][1], WarLocBallas[0][2], WarLocBallas[0][3]); } } SetTimerEx("SetWar",8000,false,"i",2); } case 2: { SpawnLocGrove[0] = WarLocGrove[1][0]; SpawnLocGrove[1] = WarLocGrove[1][1]; SpawnLocGrove[2] = WarLocGrove[1][2]; SpawnLocGrove[3] = WarLocGrove[1][3]; SpawnLocBallas[0] = WarLocBallas[1][0]; SpawnLocBallas[1] = WarLocBallas[1][1]; SpawnLocBallas[2] = WarLocBallas[1][2]; SpawnLocBallas[3] = WarLocBallas[1][3]; SetTimerEx("SetWar",8000,false,"i",1); } } return 1; } Dus ik verwacht dat de spawn locatie iedere 8 seconden wordt gewijzigd... Maar dat doet ie dus niet... Thanks!
November 6, 200916 yr De fout zijn de floats niet, de fout is je functie. Een stock functie kan je namelijk onmogelijk timen. Het zal dan gewoon niks doen. Een stock functie is het vereenvoudigen van een stuk code. Wat jij moet doen is een callback gebruiken. Die gebruik je om een stuk code uit te voeren. Dus doe het volgende: forward SetWar(i); //Bovenaan je script, onder je defines, includes en nieuwe variablen, maar boven main() //stock SetWar(i) word public SetWar(i) { ... } Daarnaast zou ik IsPlayerConnected(i) uit if(IsPlayerConnected(i) && GetPlayerTeam(p) == Ballas) nog even veranderen in IsPlayerConnected(p) omdat jij een loop maakt met de variable "p" die alle spelers moet doorlopen Edited November 6, 200916 yr by Remi-X
November 6, 200916 yr Author De fout zijn de floats niet, de fout is je functie. Een stock functie kan je namelijk onmogelijk timen. Het zal dan gewoon niks doen. Een stock functie is het vereenvoudigen van een stuk code. Wat jij moet doen is een callback gebruiken. Die gebruik je om een stuk code uit te voeren. Dus doe het volgende: forward SetWar(i); //Bovenaan je script, onder je defines, includes en nieuwe variablen, maar boven main() //stock SetWar(i) word public SetWar(i) { ... } Daarnaast zou ik IsPlayerConnected(i) uit if(IsPlayerConnected(i) && GetPlayerTeam(p) == Ballas) nog even veranderen in IsPlayerConnected(p) omdat jij een loop maakt met de variable "p" die alle spelers moet doorlopen Werkt Perfect!! Thanks!! (: Remi-X is super
Goedemorgn Iedereen (;
In mn GM hebk een Float:
//Top of the script new Float:SpawnLoc[4] = {1.1, 1.1, 1.1, 1};Nu wil ik een command maken, waarmee ik die float kan wijzigin in bv 2.2, 2.2, 2.2, 2.
Hoe doe ik dit precies?
Thanks (: