Nimm nach der ersten If-Abfrage else if
Beiträge von Martino_Bullentino
-
-
Zu deinem Bug:
Du musst entweder beim Laden das Level in die PVar laden und in den Score oder beim Speichern des Levels den Score mit GetPlayerScore abfragen.
So wie es jetzt ist speichert er es aus der Variable und läd es halt in diesen PlayerScore
-
Musst den Wagen dannach einmal respawnen
-
Kannste mit SetNameTagDrawDistance(distance); einstellen
-
Du musst bei der Anfrage eine Variable erstellen bsp.: DuellGegner[pID] = playerid
und bei dem annehmen pID = DuellGegner[playerid] abfragen.Außerdem sollte sich die Pos unterscheiden da die beiden Spieler sonst ineinander spawnen
Also:
ocmd:duell(playerid,params[])
{
if(Map[playerid] == 0)
{
new pID,str[128];
if(sscanf(params,"u",pID)) return SendClientMessage(playerid,GRAU,"Benutze: /duell [SpielerName/ID]");
if(!IsPlayerConnected(pID)) return SendClientMessage(playerid,GRAU,"Spieler ist nicht online!");
if(playerid == pID) return SendClientMessage(playerid,GRAU,"Du kannst dir keine Anfrage senden!");
format(str,sizeof(str),"[Duell] %s fordert dich zu einem Duell auf!",SpielerName(playerid));
SendClientMessage(pID,GELB,str);
//playerid = pID = 1; ???????? WTF
DuellGegner[pID] = playerid;
}
else
{
SendClientMessage(playerid,GRAU,"Du bist schon in einer Arena. Benutze /l");
}
return 1;
}ocmd:annehmen(playerid,params[])
{
if(Map[playerid] == 0)
{
new pID,str[128];
pID = DuellGegner[playerid];
if(!pID == playerid)
{
SetPlayerPos(playerid,774.213989,-48.924297,1000.585937);
SetPlayerPos(pID,770.213989,-50.924297,1000.585937);
SetPlayerInterior(playerid,6);
SetPlayerInterior(pID,6);
format(str,sizeof(str),"[Duell] %s ist im Kampf gegen %s!",SpielerName(pID),SpielerName(playerid));
SendClientMessageToAll(GELB,str);
duelaktiv[playerid] = 1;
duelaktiv[pID] = 1;
}
else
{
SendClientMessage(playerid,GRAU,"Dir hat keiner eine Anfrage gesendet!");
}
}
else
{
SendClientMessage(playerid,GRAU,"Du bist schon in einer Arena. Benutze /l");
}
return 1;
} -
Achja, ich meinte natürlich unter OnPlayerCommandText
-
Einfach bei OnPlayerText
if(IsPlayerinKH == 1) //Abfrage ob Spieler im KH ist
{
SendClientMessage(playerid, Farbe, " Du kannst nichts schreiben, da du dich im Krankenhaus befindest!");
return 0;
} -
Hast du denn auch bei betreten des GunGames die gungamepunkte auf 1 gesetzt?
-
Bei dem Befehl /spawnchange speicherst du seine Pos in 3 Variablen
Beim ausloggen speicherst du die Variabeln in seiner Dini Datei
Beim einloggen rufst du diese ab und setzt ihn auf die Pos -
Mach einfach eine PlayerVariable und jedes mal wenn der Spieler sein Passwort falsch eingibt erhöhst du sie um eins. Dann fragst du ab ob die Variable 3 ist und kickst ihn.
-
Klar. Ist zwar bei ein paar Autos kaum merkbar, aber wenn du mal so ein paar hundert Autos erstellst, die alle in einer bestimmten Zeit neu erstellt werden. Zieht das schon an Leistung
-
Das muss du mit AddStaticVehicleEx machen dort kannst du angeben in welchem Abstnd das Car respawnt
-
Also so wie ich das erkenne hast du
if(DMArena(playerid) == 1)
Du musst aber
if(DMArena[playerid] == 1)
-
Du musst unter OnGamemodInit
panzer1 = AddStaticVehicle(modelid,x, y, z, angle, color1, color2)
SetVehicleHealth(panzer1, 2000.0)schreiben
-
public OnPlayerSpawn(playerid)
{
if(klasse[playerid] == 1)
{
SetPlayerColor(playerid,PINK); //Ballas wird Pink
}
if(Spieler[playerid][Paintball] == 1)
{
SetPlayerPos(playerid,-975.975708,1060.983032,1345.671875);
SetPlayerInterior(playerid,10);
ResetPlayerWeapons(playerid);
GivePlayerWeapon(playerid,24,150);
GivePlayerWeapon(playerid,27,80);
GivePlayerWeapon(playerid,34,50);
}
if(GetPVarInt(playerid,"SkinWahl")==1)
{
SetPlayerVirtualWorld(playerid,0);
SetPlayerInterior(playerid,0);
SetPlayerSpecialAction(playerid,SPECIAL_ACTION_NONE);
SetPVarInt(playerid,"SkinWahl",0);
return 1;}
SetPlayerColor(playerid,WEISS); // Alle Spieler werden wieder weiß
TextDrawShowForPlayer(playerid,Uhr);
TextDrawShowForPlayer(playerid,SD);
TextDrawShowForPlayer(playerid,Datum);
TextDrawShowForPlayer(playerid,Leiste);
TextDrawShowForPlayer(playerid,Leiste1);
TextDrawShowForPlayer(playerid,Kills[playerid]);
TextDrawShowForPlayer(playerid,Tode[playerid]);
TextDrawShowForPlayer(playerid,KDRATE[playerid]);
TextDrawShowForPlayer(playerid,Pres[playerid]);
TextDrawShowForPlayer(playerid,StatsBox);
TextDrawShowForPlayer(playerid,StatsBox1);
TextDrawShowForPlayer(playerid,StatsAnfang);SetPVarInt(playerid,"Killstreak",0);
return 1;
}Du musst bei dem letzten SetPlayerColor auch eine Abfrage machen ob er Zivi ist
-
Nimm die Abfrage raus
if(GetPVarInt(i,"Eingeloggt") == 1)
-
Hab mal alles zsm. gepackt
if(strcmp("/admins",cmdtext,true)==0)
{
new name[32],string1[128];
SendClientMessage(playerid,COLOR_WHITE,"Admins Online:");
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(GetPVarInt(i,"Eingeloggt") == 1)
{
switch(PlayerInfo[i][pAdminLevel])
{
case 1:
{
GetPlayerName(i,name,sizeof(name));
format(string1,sizeof(string1),"Probe Supporter: %s",name);
SendClientMessage(playerid,COLOR_YELLOW,string1);
}
case 2:
{
GetPlayerName(i,name,sizeof(name));
format(string1,sizeof(string1),"Supporter: %s",name);
SendClientMessage(playerid,COLOR_GREEN,string1);
}
case 3:
{
GetPlayerName(i,name,sizeof(name));
format(string1,sizeof(string1),"Adminstrator: %s",name);
SendClientMessage(playerid,COLOR_BLUE,string1);
}
case 4:
{
GetPlayerName(i,name,sizeof(name));
format(string1,sizeof(string1),"Full Adminstrator: %s",name);
SendClientMessage(playerid,COLOR_LIGHTBLUE,string1);
}
case 5:
{
GetPlayerName(i,name,sizeof(name));
format(string1,sizeof(string1),"Projektleitung: %s",name);
SendClientMessage(playerid,COLOR_LIGHTRED,string1);
}
case 2000:
{
GetPlayerName(i,name,sizeof(name));
format(string1,sizeof(string1),"Projekt Leitung: %s",name);
SendClientMessage(playerid,COLOR_LIGHTBLUE,string1);
}
}
}
}
return 1;
} -
Du musst bei CarSpeichen noch sagen welche VehicleID er speichern soll. Also CarSpeichern(vid);
-
1. bei allen Abfragen nach der ersten wird ein else davor gesetzt.
2. Bei so vielen Abfragen nimm Switch case. Ist übersichtlicher und schneller
3. Der String ist zu kurz. -
Mach bei setplayerinterior anstatt eine 10 eine 0 hinDu weißt schon dass, das der Spawn ist, wenn man im Paintball ist oder?