String updatet sich nur beim spawnen.
Beiträge von [iRP]Syntro
-
-
Ohne Code nichts los.
-
Ich weiß nicht, LV ist die ungewöhnlichste Stadt für ein SA:MP Server aber wenn es gute Systeme sind wieso nicht?
-
Habe es schon anders hinbekommen, einfach die cases anders anordnen, danke für die Hilfe.
-
Bubblesort.
Machst ne Liste (weiß nicht ob das geht) und ordnest jedem Level ne zahl zu. Danach sortierst du den Inhalt der Liste mit nem Bubblesort algorythmus von groß nach klein. Im letzten schritt gehst du einfach die Liste durch und gibst die namen aus. Fertig.
Jetzt nochmal verständlicher für mich bitte. -
Guten Tag,
ich arbeite derzeit an meinem /admin Befehl aber habe ein Problem.
Wie kann ich wenn einer einen höheren Rang hat als der andere, den oben stehen lassen?
Code hier:
ocmd:admins(playerid,params[])
{
#pragma unused params
SendClientMessage(playerid,COLOR_GRAU,"Admin Online:");
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(GetPVarInt(i,"Adminlevel"))
{
new string[128],adminlevel[64];
switch(GetPVarInt(i,"Adminlevel"))
{
case 1:{adminlevel="Supporter";}
case 2:{adminlevel="Administrator";}
case 3:{adminlevel="Head Admin";}
}
format(string, 256, "%s: %s",adminlevel,SpielerName(i));
SendClientMessage(playerid,COLOR_GRAU,string);
}
}
}
return 1;
} -
Dann bekomme ich aber 2 Fehler angezeigt.
TextDrawSetString(PAYDAYdraw[playerid],string);
TextDrawShowForPlayer(playerid,PAYDAYdraw[playerid]); -
Unter OnPlayerSpawn einmal der Code vom Textdraw
public OnPlayerSpawn(playerid)
{
new string[256];
PlayerTextDrawShow(playerid,PAYDAYdraw[playerid]);
format(string,sizeof(string),"~b~PayDay: ~w~%i~b~/~w~60",GetPVarInt(playerid,"Payday"));
PlayerTextDrawSetString(playerid,PAYDAYdraw[playerid],string);
return 1;
}OnPlayerConnect
PAYDAYdraw[playerid] = CreatePlayerTextDraw(playerid,8,300,"_");
PlayerTextDrawFont(playerid,PAYDAYdraw[playerid],1);
PlayerTextDrawAlignment(playerid,PAYDAYdraw[playerid],0);
PlayerTextDrawLetterSize(playerid,PAYDAYdraw[playerid],0.500000,0.999990);
PlayerTextDrawSetProportional(playerid,PAYDAYdraw[playerid],1);
PlayerTextDrawSetShadow(playerid,PAYDAYdraw[playerid],1);//edit:Text
-
Alles klar das funktioniert, aber mein Textdraw updatet sich nicht?
-
Guten Tag,
ich wollte das bei jeden Spieler sich die Payday Zeit um 1 erhöht, passieren tut aber nichts.
Unter OnGameModeInIt läuft mein Timer:
SetTimer("Paydayhoch",1016,true);
stock Paydayhoch()
{
for(new i; i < MAX_PLAYERS; i ++)
{
if(IsPlayerConnected(i) && !IsPlayerNPC(i))
{
SetPVarInt(i,"Payday",GetPVarInt(i,"Payday")+1);
return 1;
}
}
return 1;
} -
Guten Tag,
was ist das für ein Fehler hier?
public OnPlayerSpawn(playerid)
{
new string[256];
PlayerTextDrawShow(playerid,PAYDAYdraw[playerid]);
format(string,sizeof(string),"~r~PayDay: ~w~%i~r~/~w~60",GetPVarInt(playerid,"Payday"),/60)); //Fehler Zeile
PlayerTextDrawSetString(playerid,PAYDAYdraw[playerid],string);
return 1;
}CodeC:\Users\Alexander\Desktop\Script Alex!\gamemodes\Script.pwn(485) : error 029: invalid expression, assumed zero C:\Users\Alexander\Desktop\Script Alex!\gamemodes\Script.pwn(485) : warning 215: expression has no effect C:\Users\Alexander\Desktop\Script Alex!\gamemodes\Script.pwn(485) : error 001: expected token: ";", but found ")" C:\Users\Alexander\Desktop\Script Alex!\gamemodes\Script.pwn(485) : error 029: invalid expression, assumed zero C:\Users\Alexander\Desktop\Script Alex!\gamemodes\Script.pwn(485) : fatal error 107: too many error messages on one line
-
Guten Tag,
wenn ich /makeadmin schreibe irrelevant welche Zahl ich benutze steht dort immer als Rang Head-Admin.
Code gibts hierocmd:makeadmin(playerid,params[])
{
new string[128],pID,Rang,string1[128];
if(GetPVarInt(playerid,"Eingeloggt") == 0)return SendClientMessage(playerid,COLOR_GRAU,"Du bist nicht eingeloggt.");
if(!isPlayerAnAdmin(playerid,3))return SendClientMessage(playerid,COLOR_GRAU,"Du bist kein Team-Mitglied von "#SERVERNAME".");
if(sscanf(params,"ui",pID,Rang))return SendClientMessage(playerid,COLOR_GRAU,"Benutze: /makeadmin [ID/Teilname] [Rang]");
if(!IsPlayerConnected(pID))return SendClientMessage(playerid,COLOR_GRAU,"Der angegebene Spieler ist nicht online.");
if(Rang < 0 || Rang > 3) return SendClientMessage(playerid,COLOR_GRAU,"Nur Rang 0 - 3 gültig.");
SetPVarInt(pID,"Adminlevel",Rang);
format(string,sizeof(string),"%s hat dir den Team Rang %s gegeben.",SpielerName(playerid),Adminrang(playerid));
SendClientMessage(pID,COLOR_ROT,string);
format(string1,sizeof(string1),"Du hast %s den Team Rang %s gegeben.",SpielerName(pID),Adminrang(playerid));
SendClientMessage(playerid,COLOR_ROT,string1);
return 1;
}stock Adminrang(playerid)
{
new rang[54];
switch(GetPVarInt(playerid,"Adminlevel"))
{
case 0:{rang="User";}
case 1:{rang="Supporter";}
case 2:{rang="Administrator";}
case 3:{rang="Head-Admin";}
default:{rang="ERROR";}
}
return rang;
} -
Nur die 3 Zeilen mein Lieber.
public OnPlayerRequestClass(playerid, classid)
{
SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
return 1;
} -
Lass dir mal vor und nach "SpielerSpeichern(pID);" was printen!
print("Test1");
SpielerSpeichern(pID);
print("Test2");Wird beides in der Konsole angezeigt?
Ja wird es.
-
1. Die Skinliste erstellst du am besten im Callback "OnGameModeInit".
2. Das ganze zeug wegen Kameraposition etc. hat nichts im CMD zu suchen
3. Hast Du dir das Beispiel zur benutzung von "ForceClassSelection" mal im Wiki angesehen?Hast du vielleicht einen kleinen Code für mich, der mir da weiterhilft?
Ich habe mir die Benutzung angeschaut, komme aber nicht weiter.-
Es wird nur die Nachricht ausgegeben das ich als Leader ernannt wurde, spectating passiert nicht. -
Es passiert bei meinem Code nichts, ich werde nicht in die Skin Auswahl geleitet, ich stehe auf dem Schlauch..
ocmd:makeleader(playerid,params[])
{
new Rang, pID, string[128], string1[128];
if(GetPVarInt(playerid,"Eingeloggt") == 0)return SendClientMessage(playerid,COLOR_GRAU,"Du bist nicht eingeloggt.");
if(!isPlayerAnAdmin(playerid,3))return SendClientMessage(playerid,COLOR_GRAU,"Du bist kein Team-Mitglied von "#SERVERNAME".");
if(sscanf(params,"ui",pID,Rang))return SendClientMessage(playerid,COLOR_GRAU,"Benutze: /makeleader [ID/Teilname] [FraktionsID]");
if(Rang < 0 || Rang > 12) return SendClientMessage(playerid,COLOR_GRAU,"Nur Rang 0 - 12 gültig.");
SetPVarInt(pID,"Fraktion",Rang);
SetPVarInt(pID,"Fraktionsrang",6);
format(string,sizeof(string),"%s hat dich zum Leader von %s ernannt.",SpielerName(playerid),FraktionsName(playerid));
SendClientMessage(pID,COLOR_ROT,string);
format(string1,sizeof(string1),"Du hast %s zum Leader von %s ernannt.",SpielerName(pID),FraktionsName(playerid));
SendClientMessage(playerid,COLOR_ROT,string1);
SpielerSpeichern(pID);
ForceClassSelection(pID);
SetPlayerCameraPos(pID,2204.6206,1598.2760,68.7266);
SetPlayerCameraLookAt(pID,2193.8567,1598.5226,68.7266);
TogglePlayerSpectating(pID, true);
TogglePlayerSpectating(pID, false);
if(GetPVarInt(pID,"Fraktion") == 1)
{
AddPlayerClass(280,2193.8567,1598.5226,68.7266,268.4489,0,0,0,0,0,0);
AddPlayerClass(281,2193.8567,1598.5226,68.7266,268.4489,0,0,0,0,0,0);
AddPlayerClass(282,2193.8567,1598.5226,68.7266,268.4489,0,0,0,0,0,0);
AddPlayerClass(283,2193.8567,1598.5226,68.7266,268.4489,0,0,0,0,0,0);
AddPlayerClass(284,2193.8567,1598.5226,68.7266,268.4489,0,0,0,0,0,0);
AddPlayerClass(285,2193.8567,1598.5226,68.7266,268.4489,0,0,0,0,0,0);
}
else if(GetPVarInt(pID,"Fraktion") == 2)
{
AddPlayerClass(286,2193.8567,1598.5226,68.7266,268.4489,0,0,0,0,0,0);
AddPlayerClass(285,2193.8567,1598.5226,68.7266,268.4489,0,0,0,0,0,0);
AddPlayerClass(294,2193.8567,1598.5226,68.7266,268.4489,0,0,0,0,0,0);
}
return 1;
} -
Steam Accounts verkaufen ist verboten.
-
Guten Tag,
ich stehe derzeit bei meinem Script vor ein schweren und für mich unlösbaren Problem.
Ich möchte den Spieler (pID) nach dem Befehl /makeleader in eine Skin Auswahl setzten, wo er bestimmte Skins auswählen kann.
Wenn ich ihn z.B Fraktion 1 zuweise, soll er bestimmte Skins für Fraktion 1 auswählen können, bei Fraktion 2 halt Skins für Fraktion 2.Wie funktioniert das?
-
Ach mist, kleiner Schreibfehler, vielen dank.
-
Guten Tag,
ein Fehler im Befehl und ich weiß leider nicht wieso.
ocmd:spec(playerid,params)
{
new pID,string[128];
if(sscanf(params,"u",pID))return SendClientMessage(playerid,COLOR_GRAU,"Benutze: /spec [ID/Teilname]"); //Fehler Zeile
SetCameraBehindPlayer(pID);
format(string,sizeof(string),"Du beobachtest nun %s.",SpielerName(pID));
SendClientMessage(playerid,COLOR_ROT,string);
return 1;
}