Räume (20 Spieler pro) in SAMP

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Hallo,


    ich bin gerade dran, einen Gamemode zu schreiben, in welchem man Räume betreten kann (ähnlich wie bei CrossFire).
    Derzeit soll es nur 2 Räume geben. In jedem Raum sollen maximal 20 User (10 pro Team) Platz nehmen können.
    Ich habe mit Textdraws gearbeitet, sodass wenn man z.B. in Raum 1 geht, folgendes Angezeigt bekommt:


    Natürlich sollen in der blauen und in der roten Box die Usernamen der User stehen, die den Raum bereits betreten haben.
    Wenn ein User einen Raum betritt, wird folgende Funktion aufgerufen:

    Code #1
    //OnPlayerClickTextDrawif(clickedid == Raumauswahl5) { if(R1PL <= 19) { SetPVarInt(playerid,"RoomUser",R1PL+1); CancelSelectTextDraw(playerid); TextDrawHideForPlayer(playerid, Raumauswahl1); TextDrawHideForPlayer(playerid, Raumauswahl2); TextDrawHideForPlayer(playerid, Raumauswahl3); TextDrawHideForPlayer(playerid, Raumauswahl4); TextDrawHideForPlayer(playerid, Raumauswahl5); TextDrawHideForPlayer(playerid, Raumauswahl6); TextDrawHideForPlayer(playerid, Raumauswahl7); TextDrawHideForPlayer(playerid, Raumauswahl8); TextDrawHideForPlayer(playerid, Raumauswahl9); TextDrawHideForPlayer(playerid, Raumauswahl10); TextDrawHideForPlayer(playerid, Raumauswahl11); GameRoom[playerid] = 1; R1PL ++; PlayerTextDrawShow(playerid, Room0[playerid]); PlayerTextDrawShow(playerid, Room1[playerid]); PlayerTextDrawShow(playerid, Room2[playerid]); PlayerTextDrawShow(playerid, Room3[playerid]); PlayerTextDrawShow(playerid, Room4[playerid]); PlayerTextDrawShow(playerid, Room5[playerid]); PlayerTextDrawShow(playerid, Room6[playerid]); PlayerTextDrawShow(playerid, Room7[playerid]); PlayerTextDrawShow(playerid, Room8[playerid]); PlayerTextDrawShow(playerid, Room9[playerid]); PlayerTextDrawShow(playerid, Room10[playerid]); PlayerTextDrawShow(playerid, Room11[playerid]); PlayerTextDrawShow(playerid, Room12[playerid]); PlayerTextDrawShow(playerid, Room13[playerid]); PlayerTextDrawShow(playerid, Room14[playerid]);//<-- 1. User (United States) PlayerTextDrawShow(playerid, Room15[playerid]); PlayerTextDrawShow(playerid, Room16[playerid]); PlayerTextDrawShow(playerid, Room17[playerid]); PlayerTextDrawShow(playerid, Room18[playerid]); PlayerTextDrawShow(playerid, Room19[playerid]); PlayerTextDrawShow(playerid, Room20[playerid]); PlayerTextDrawShow(playerid, Room21[playerid]); PlayerTextDrawShow(playerid, Room22[playerid]); PlayerTextDrawShow(playerid, Room23[playerid]); PlayerTextDrawShow(playerid, Room24[playerid]);//<-- 1. User (Russian) PlayerTextDrawShow(playerid, Room25[playerid]); PlayerTextDrawShow(playerid, Room26[playerid]); PlayerTextDrawShow(playerid, Room27[playerid]); PlayerTextDrawShow(playerid, Room28[playerid]); PlayerTextDrawShow(playerid, Room29[playerid]); PlayerTextDrawShow(playerid, Room30[playerid]); PlayerTextDrawShow(playerid, Room31[playerid]); PlayerTextDrawShow(playerid, Room32[playerid]); PlayerTextDrawShow(playerid, Room33[playerid]); } else { GameTextForPlayer(playerid,"Dieser Raum ist voll!",2500,3); } }



    Wie erarbeite ich nun, dass abgefragt wird, welchen Slot der User betritt, und das somit für alle anderen User, die im Raum sind, die Anzeige erneuert wird?


    Mit freundlichen Grüßen
    DoenerEATER :love: