KOSTENLOSE REGISTRIERUNG - FREE REGISTER
  • Willkommen, Gast!
  • Samstag, 28. Februar 2026, 20:12:36
Position: Home » Grand Theft Auto: San Andreas » Multiplayer » Derby

Willkommen im GTAvision.com Forum

Du bist noch nicht bei uns angemeldet. Wenn das dein erster Besuch bei uns ist, so kannst du die wichtigsten Funktionen des Boards in der FAQ nachlesen. Um Beiträge zu schreiben oder neue Themen zu erstellen musst du in fast jedem Forum registriert und eingeloggt sein. Dies gilt nicht bei den Newskommentaren, dort können auch Gäste etwas schreiben ohne sich vorher registrieren zu müssen. Damit du Beiträge lesen kannst, musst du dir erst ein Forum aussuchen welches dich interessiert, z.B. GTA V - Allgemeines, dann klickst du auf ein Thema das dich interessiert z.B. "Allgemeine GTA V Plauderecke" und schon kannst du die Beiträge lesen. Um im genannten Thema zu antworten, musst du dich allerdings vorher eingeloggt haben. Viel Spaß in unserem Forum, wünscht das gesamte GTAvision.com Team.

Follow @GTAvision
Grand Theft Auto: San Andreas
Thema: Derby [Seite 1 ]  

Kein neuer Beitrag 23.02.2009, 12:18
Beitrag #1   

G4M3R
Ladendieb
* * * O O O O O O O O
Kein Bild vorhanden
Registrierung: 19.02.2009, 15:33
Beiträge: 16

hi leute ich möchte ein derby scripten doch leider komme ich bei den spawnen nicht weiter.
Man kommt mit /derby zum Derby.
Jeder player soll einen eigenen derby spawn haben also z.b keine random spawns weil z.b zwei
spieler den selben random spawn haben könnten und das ist dann nicht gut.
Habe schon hier und im official sa-mp forum geschaut aber leider nix gefunden :(
Kann mir einer helfen?
Dieser Beitrag wurde insgesamt 1 mal editiert. Das letzte Mal 23.02.2009, 12:18 von G4M3R.

Kein neuer Beitrag 23.02.2009, 19:37
Beitrag #2   

Rafioso
King of GTAvision.com
* * * * * * * * * * *
Registrierung: 17.04.2006, 10:39
User-Info: Unikat! Gefällt mir :-)
Homepage: http://www.NetVisionWork.net
Lieblings-GTA: GTA: Vice City
Script Editor: Sanny Builder 3
Wohnort: LS
PSN-ID: GV-Rafioso
Xbox Live Gamertag: SP: GVRafioso & MP: GVR...
GFWL-Tag: GVRafioso
Social Club: Rafioso
Beiträge: 11019

Hi,

zeige doch bitte erst, wie dein aktueller Stand aussieht.

MfG
Rafioso

http://forum.gtavision.com/sonstiges/userbars/gtavision_userbar_admin_1.gif

Kein neuer Beitrag 23.02.2009, 22:17
Beitrag #3   

G4M3R
Ladendieb
* * * O O O O O O O O
Kein Bild vorhanden
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 :)

Kein neuer Beitrag 23.02.2009, 22:54
Beitrag #4   

dödel
Capo
* * * * * * * * * * O
Registrierung: 16.04.2007, 22:15
Lieblings-GTA: GTA: Vice City
Wohnort: The Triangle
Beiträge: 3191

ZitatG4M3R hat folgendes geschrieben:
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?
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]++;
    }
    }
}
?>


Da du einfach nur if verwendest, wird das Ergebnis immer sffahrschule = 3 sein, denn es wird erhöht
und dann sofort abgefragt welche stufe es hat, ohne weiteres wird aus

sffahrschule = 0
dann
sffahrschule = 3

( Hoffe ist verständlich gewesen )
Da ich aber jetzt nicht alles gelesen habe, sondern nur diesen Teil (zumal da ich müde bin und ich
mich gleich hinlegen werde), kann ich dir nur diesen code geben, sofern ein anderer Probleme
aufweist, werde ich jetzt nichts in diesem machen.

> Kurz gesagt:
public Teilnehmer(playerid)

sollte vermutlich so aussehen:

Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?
forward Teilnehmer(playerid);
public Teilnehmer(playerid)
{
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    else if(sffahrschule[playerid] == 0 && inderby[i] > 1)
    {
     sffahrschule[playerid]++;
    }
    else if(sffahrschule[playerid] == 1 && inderby[i] > 1)
    {
    sffahrschule[playerid]++;
    }
    else if(sffahrschule[playerid] == 2 && inderby[i] > 1)
    {
    sffahrschule[playerid]++;
    }
    }
}
?>

Kein neuer Beitrag 23.02.2009, 22:59
Beitrag #5   

Rafioso
King of GTAvision.com
* * * * * * * * * * *
Registrierung: 17.04.2006, 10:39
User-Info: Unikat! Gefällt mir :-)
Homepage: http://www.NetVisionWork.net
Lieblings-GTA: GTA: Vice City
Script Editor: Sanny Builder 3
Wohnort: LS
PSN-ID: GV-Rafioso
Xbox Live Gamertag: SP: GVRafioso & MP: GVR...
GFWL-Tag: GVRafioso
Social Club: Rafioso
Beiträge: 11019

Du verwendest innerhalb deiner for-Schleifen playerid, was du nicht brauchst, da du ja für die
ID-Gewinnung ja extra die for-Schleife erstellt hast.
Ersetze also alle playerids innerhalb der for-Schleifen gegen die initialisierte Variable, z.B. i.

-----


Zitatdödel hat folgendes geschrieben:

sollte vermutlich so aussehen:

Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?
forward Teilnehmer(playerid);
public Teilnehmer(playerid)
{
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    else if(sffahrschule[playerid] == 0 && inderby[i] > 1)
    {
     sffahrschule[playerid]++;
    }
    else if(sffahrschule[playerid] == 1 && inderby[i] > 1)
    {
    sffahrschule[playerid]++;
    }
    else if(sffahrschule[playerid] == 2 && inderby[i] > 1)
    {
    sffahrschule[playerid]++;
    }
    }
}
?>


Kleiner Fehler... ;)

Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?
forward Teilnehmer(playerid);
public Teilnehmer(playerid)
{
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(sffahrschule[playerid] == 0 && inderby[i] > 1)
    {
     sffahrschule[playerid]++;
    }
    else if(sffahrschule[playerid] == 1 && inderby[i] > 1)
    {
    sffahrschule[playerid]++;
    }
    else if(sffahrschule[playerid] == 2 && inderby[i] > 1)
    {
    sffahrschule[playerid]++;
    }
    }
}
?>




http://forum.gtavision.com/sonstiges/userbars/gtavision_userbar_admin_1.gif

Kein neuer Beitrag 23.02.2009, 23:11
Beitrag #6   

dödel
Capo
* * * * * * * * * * O
Registrierung: 16.04.2007, 22:15
Lieblings-GTA: GTA: Vice City
Wohnort: The Triangle
Beiträge: 3191

Wenn ich das gerade etwas genauer betrachte, wäre das einfachte wohl

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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
<?

new inderby;

//_______________________________________
//

forward Teilnehmer(playerid);
public Teilnehmer(playerid)
{
    if(sffahrschule[playerid] == 0 && inderby[i] > 1) sffahrschule[playerid]++;
    else if(sffahrschule[playerid] == 1 && inderby[i] > 1) sffahrschule[playerid]++;
    else if(sffahrschule[playerid] == 2 && inderby[i] > 1) sffahrschule[playerid]++;
}

//_______________________________________
//

if (Current == derbymenu)
{
switch(row)
{
case 0:
{
new string[256];
sffahrschule[playerid]++;
GetPlayerName(playerid, playername, sizeof(playername));
for(new i=0; i<MAX_PLAYERS; i++)
{
if(derbycheck[i] == 1)
{
format(string, sizeof(string), "%s select SF Driveschool", playername);
SendClientMessage(i,gelb,string);
return 1;
}
}
}
case 1:
{

}
}
}

//______________________________________
//

    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);
    if(inderby == 3)
    {
    SendClientMessage(playerid,rot,"Es dürfen nur 3 Leute in Derby");
    }
    if(derbytime == 0)
     {
    inderby++;
        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)
    {
    derbycheck[playerid]=0;
    inderby--;
    SetPlayerHealth(playerid,0);
    return 1;
    }

?>


Du scheinst for-Schleifen zu nutzen, ohne ihre genauen Auswirkungen zu kennen, zB. hast du an einer
Stelle den selben Timer 200 mal gestartet.
Dieser Beitrag wurde insgesamt 1 mal editiert. Das letzte Mal 23.02.2009, 23:12 von dödel.

Kein neuer Beitrag 23.02.2009, 23:18
Beitrag #7   

G4M3R
Ladendieb
* * * O O O O O O O O
Kein Bild vorhanden
Registrierung: 19.02.2009, 15:33
Beiträge: 16

öhm, ich hatte zuerst inderby ohne einer schleife genutzt, aber ich dachte es liegt daran, dass ihm
kein spawn zugewiesen wird.

achja, bei SetTimerEx("DerbyGo",7000,true,"d",playerid); muss es zu
SetTimerEx("DerbyGo",7000,false,"d",playerid); sonst startet der immer wieder ist mir grad
aufgefallen.


/EDIT:
Habe es mal mit 2 Leuten getestet.
Also wenn ich /derby mache, spawne auf den ersten spawn (sffahrschule == 1).
Wenn ein anderer /derby macht, wo ich schon drin bin, wird er zum zweiten spawn gespawnt
(sffahrschule == 2). und wenn der andere /derby macht, wo wir beide drin sind, spawnt er auf den
anderen player...
kann mir einer weiterhelfen?
Dieser Beitrag wurde insgesamt 2 mal editiert. Das letzte Mal 24.02.2009, 00:49 von G4M3R.

Kein neuer Beitrag 25.02.2009, 12:43
Beitrag #8   

G4M3R
Ladendieb
* * * O O O O O O O O
Kein Bild vorhanden
Registrierung: 19.02.2009, 15:33
Beiträge: 16

so srry 4 doppelpost, ich hab jetzt das problem gelöst.

aber dennoch gibt es ein problem und zwar wenn ich z.b als test jetzt das Auto verlasse, dann wird
ja das derby für mich (wenn ich jetzt aussteige) beendet und wenn nur noch einer drin ist, gewinnt
er.

aber wenn ich dann wieder /derby mache und spawne, wird mir und den anderen immer die sffahrschule
= 3 zugewiesen.

habs nur als onplayerexitvehicle getestet.

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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
<?
public OnPlayerExitVehicle(playerid, vehicleid)
{

   if (DerbyDestroy[vehicleid] == 1)
   {
   DestroyVehicle(vehicleid);
   DerbyDestroy[vehicleid] = 0;
   }

   if(derbycheck[playerid] == 1)
   {
   new string[256];
   GetPlayerName(playerid,playername, sizeof(playername));
   format(string, sizeof(string), "%s ist aus dem Auto ausgestiegen", playername);
   SendClientMessageToAll(gelb, string);
   inderby--;
   derbycheck[playerid]=0;
   teilnahmezaehler[playerid]=0;
   sffahrschule[playerid]=0;
   RemovePlayerFromVehicle(playerid);
   SpawnPlayer(playerid);
   if(inderby == 1)
   {
   for (new i=0; i<MAX_PLAYERS; i++)
   {
   if (IsPlayerConnected(i) && derbycheck[i] == 1)
   {
   GetPlayerName(i,playername, sizeof(playername));
   format(string, sizeof(string), "%s hat das Derby gewonnen. Neue Runde /derby", playername);
   SendClientMessageToAll(rot, string);
   KillTimer(derbytimer);
   //GivePlayerCash(i,1000);
   RemovePlayerFromVehicle(i);
   inderby=0;
   derbytime=0;
   derbycheck[i]=0;
   sffahrschule[i]=0;
   teilnahmezaehler[i]=0;
   SpawnPlayer(i);
    return 1;
   }
   else if(inderby == 0 && derbycheck[i] == 0)
   {
   SendClientMessageToAll(rot, "Keiner hat das Derby gewonnen, neue Runde /derby");
   KillTimer(derbytimer);
   inderby=0;
   derbytime=0;
   derbycheck[i]=0;
   sffahrschule[i]=0;
   teilnahmezaehler[i]=0;
   RemovePlayerFromVehicle(i);
   return 1;
   }
   }
   }
   }
   return 1;
}
?>



public Teilnehmer(playerid)
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?
forward Teilnehmer(playerid);
public Teilnehmer(playerid)
{
for(new i=0; i<MAX_PLAYERS; i++)
{
teilnahmezaehler[playerid]=1;
if(sffahrschule[playerid] == 0 && teilnahmezaehler[i] == 1)
{
sffahrschule[playerid]++;
}
else if(sffahrschule[playerid] == 1 && teilnahmezaehler[i] == 1)
{
sffahrschule[playerid]++;
}
else if(sffahrschule[playerid] == 2 && teilnahmezaehler[i] == 1)
{
sffahrschule[playerid]++;
}
SpawnPlayer(i);
}
}
?>



Hoffe ihr könnt mir helfen. :)
Dieser Beitrag wurde insgesamt 3 mal editiert. Das letzte Mal 25.02.2009, 14:53 von G4M3R.

Kein neuer Beitrag 25.02.2009, 20:53
Beitrag #9   

Rafioso
King of GTAvision.com
* * * * * * * * * * *
Registrierung: 17.04.2006, 10:39
User-Info: Unikat! Gefällt mir :-)
Homepage: http://www.NetVisionWork.net
Lieblings-GTA: GTA: Vice City
Script Editor: Sanny Builder 3
Wohnort: LS
PSN-ID: GV-Rafioso
Xbox Live Gamertag: SP: GVRafioso & MP: GVR...
GFWL-Tag: GVRafioso
Social Club: Rafioso
Beiträge: 11019

Wo ist da bitteschön sffahrschule = 3?

MfG
Rafioso

http://forum.gtavision.com/sonstiges/userbars/gtavision_userbar_admin_1.gif

Kein neuer Beitrag 25.02.2009, 21:11
Beitrag #10   

G4M3R
Ladendieb
* * * O O O O O O O O
Kein Bild vorhanden
Registrierung: 19.02.2009, 15:33
Beiträge: 16

/EDIT:

So, dass hat sich erledigt^^

aber habe eine kleine Frage, da ich schon bald mit meinem Derby fertig bin, möchte ich wissen, wie
man es macht, dass allem die variable zugewiesen wird, die als letztes betätigt wurde.

Beispiel: Ich wähle im Menu als Map SF Fahrschule aus und ein anderer hmm, sagen wir mal Flughafen.
Und dass dann die Variable Flughafen als Derbymodi betätigt wird, weil sie zuletzt ausgewählt wurde.

Hoffe ich habe es gut erklärt ^^
Dieser Beitrag wurde insgesamt 3 mal editiert. Das letzte Mal 26.02.2009, 03:35 von G4M3R.

Druckansicht

n/a n/a 1     (Anzeige: 1 – 10; Insgesamt: 10) n/a n/a
Toggle Ähnliche Themen zu „Derby“
  Antworten Aufrufe Themeneröffnung Letzter Beitrag
Geschlossen Thema /derby map 1 1908 18.06.2009, 18:29
Von: Robin
04.07.2009, 19:19
Von: Rafioso
Zum letzten Beitrag
Keine neuen Beiträge, „heißes Thema“   Derby Hilfe 2 1399 02.07.2008, 20:06
Von: basss
10.06.2009, 14:23
Von: BIG
Zum letzten Beitrag
Keine neuen Beiträge, „heißes Thema“   Derby 4 1396 11.09.2008, 14:12
Von: Adrian2505
11.09.2008, 20:16
Von: FloRaX
Zum letzten Beitrag
  • 0.042499 Sek., 20 DB-Zugriffe, 2.124 MiB
  • Powered by Boardsolution v1.45
GTAvision.com :: Forumregeln :: FAQ :: Impressum :: Kontakt :: RDRvision.com :: LANOIREvision.com :: MaxPayneVision.com
NetVisionWork.NET
.: © 2006-2014 by GTAvision.com :.

Rockstar GamesTake-Two Interactive Deutschland

Free Grand Theft Auto Downloads