G4M3R
Ladendieb
|
|
| Registrierung: |
19.02.2009, 15:33 |
| Beiträge: |
16
|
|
ok, also ich komme nicht weiter, deshalb ist es nocht nicht fertig^^ also wundert euch net wenn max player in derby 3 sind und derbytime usw. net gezählt wird^^
aber ich poste mal den Stand:
/derby und /derbyexit:
Code: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
| <? if(strcmp(cmdtext, "/derby",true)==0) { GetPlayerName(playerid, playername, MAX_PLAYER_NAME); format(string, sizeof(string), ">> DERBY << %s ist zum Derby! /derby", playername); rand = random(sizeof(RandomColor)); SendClientMessageToAll(RandomColor[rand][0],string); for(new i=0; i<MAX_PLAYERS; i++) { if(inderby[i] == 3) { SendClientMessage(playerid,rot,"Es dürfen nur 3 Leute in Derby"); } } if(derbytime == 0) { for(new i=0; i<MAX_PLAYERS; i++) { inderby[i]++; derbycheck[playerid]=1; ShowMenuForPlayer(derbymenu,playerid); SetPlayerCameraPos(playerid,-2072.1663,-121.7532,35.3296); SetPlayerCameraLookAt(playerid,-2072.1663,-121.7532,35.3296); SetPlayerPos(playerid,-2072.1663,-121.7532,35.3296); TogglePlayerControllable(playerid,0); SetTimerEx("DerbyGo",7000,true,"d",playerid); } } if(derbytime == 1) { } return 1; } if(strcmp(cmdtext, "/derbyexit",true)==0) { for(new i=0; i<MAX_PLAYERS; i++) { derbycheck[playerid]=0; inderby[i]--; SetPlayerHealth(playerid,0); return 1; } } <?
|
DerbyGo und Teilnehmer:
Code: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| <? forward DerbyGo(playerid); public DerbyGo(playerid) { Teilnehmer(playerid); SpawnPlayer(playerid); }
forward Teilnehmer(playerid); public Teilnehmer(playerid) { for(new i=0; i<MAX_PLAYERS; i++) { if(sffahrschule[playerid] == 0 && inderby[i] > 1) { sffahrschule[playerid]++; } if(sffahrschule[playerid] == 1 && inderby[i] > 1) { sffahrschule[playerid]++; } if(sffahrschule[playerid] == 2 && inderby[i] > 1) { sffahrschule[playerid]++; } } } <?
|
OnPlayerSpawn:
Code: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| <? if(derbycheck[playerid] == 1) { if(sffahrschule[playerid] == 1) { new derbycar = CreateVehicle(504,-2058.2822,-107.3824,35.3203,180.00,0,0,60); PutPlayerInVehicle(playerid, vid, 0); LinkVehicleToInterior(vid, GetPlayerInterior(playerid)); DerbyDestroy[derbycar] = 1; ResetPlayerWeapons(playerid); return 1; } if(sffahrschule[playerid] == 2) { new derbycar = CreateVehicle(504,-2068.8708,-107.0806,35.3225,180.00,0,0,60); PutPlayerInVehicle(playerid, vid, 0); LinkVehicleToInterior(vid, GetPlayerInterior(playerid)); DerbyDestroy[derbycar] = 1; ResetPlayerWeapons(playerid); return 1; } if(sffahrschule[playerid] == 3) { new derbycar = CreateVehicle(504,-2078.1958,-107.0035,35.3203,180.00,0,0,60); PutPlayerInVehicle(playerid, vid, 0); LinkVehicleToInterior(vid, GetPlayerInterior(playerid)); DerbyDestroy[derbycar] = 1; ResetPlayerWeapons(playerid); return 1; } } } <?
|
Menu:
Code: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| <? if (Current == derbymenu) { switch(row) { case 0: { new string[256]; for(new i=0; i<MAX_PLAYERS; i++) { if(derbycheck[i] == 1) { sffahrschule[playerid]++; GetPlayerName(playerid, playername, sizeof(playername)); format(string, sizeof(string), "%s select SF Driveschool", playername); SendClientMessage(i,gelb,string); return 1; } } } case 1: {
} } } <?
|
so, um nochmal das Problem anzusprechen, also wenn die player gespawnt werden, dann wird die sffahrschule variable zur einer playerid ++ gezählt, ich weis auch warum, weil nur die playerid ja ++ bekommt, aber nicht jede playerid, deshalb bleibt es immer bei 1 und nicht bei 2 oder 3...
wie ihr seht habe ich es bisschen "austricksen" wollen, wie ihr bei dem public Teilnehmer sieht, hat aber nicht geklappt...
danke schonmal
|
|