Erstelle Züge NUR mit AddStaticVehicle
Genauer lesen ![]()
Only create trains with AddStaticVehicle/Ex
/Ex !!!
mfg. ![]()
Erstelle Züge NUR mit AddStaticVehicle
Genauer lesen ![]()
Only create trains with AddStaticVehicle/Ex
/Ex !!!
mfg. ![]()
stock GetPlayerFrac(playerid)
{
if(PlayerInfo[playerid][pLeader] > 0){
return PlayerInfo[playerid][pLeader];
}
else if(PlayerInfo[playerid][pMember] > 0){
return PlayerInfo[playerid][pMember];
}
}
if(GetPlayerFrac(playerid) == 1337){
SendClientMessage(playerid, COLOR_WHITE, "Du bist Mitglied der 1337-Fraktion.");
return 1;
}
Auch nicht das was der Threadersteller wollte, er wollte schließlich wissen ob der Spieler in einer Fraktion ist und nicht in welcher er ist ![]()
PS: In der Funktion ist ein Fehler, da würde ein Waring kommen, dass nicht immer ein Wert zurückgegeben wird ![]()
mfg. ![]()
Du darfst keine Züge mit CreateVehicle erstellen, sondern nur mit AddStaticVehicle oder AddStaticVehicleEx ![]()
mfg. ![]()
Du musst immer die Klammern schließen, schreibe es so:
public OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp(cmdtext,"/fsf",true)==0)
{
SetPlayerPos(playerid,-2067.0386,50.6341,28.5487);
return 1;
}
return 0;
}
mfg. ![]()
Also ist mir nicht klar warum ein neuer Stock?
Ganz einfach, weil du ihn benötigst...hier nochmal eine Erklärung wieso:
Zitatif(IsPlayerInFrac(playerid, >= 0)))
So kannst du eine Funktion nicht verwenden, da du einen Wert als Parameter übergeben musst und ihn nicht während der Übergabe abfragen kannst ![]()
Aus diesem Grund brauchst du meine Funktion die dir zurückgibt ob man in einer Fraktion ist oder nicht ![]()
mfg. ![]()
Hat er diese noch nicht im Script?
Was meinst du mit diese ![]()
So ist es Richtig!
Nein ist es nicht ![]()
Die Funktion ist für so eine Abfrage nicht geeignet, man müsste dafür sowas machen:
if(IsInAFrak(playerid) == 1)
{
//Er ist in einer Frak
}
else
{
//Er ist in keiner Frak
}
//Der stock
stock IsInAFrak(playerid)
{
if(PlayerInfo[playerid][pMember] > 0 || PlayerInfo[playerid][pLeader] > 0) return 1;
return 0;
}
mfg. ![]()
Keine Angst, wenn ich Dich meinen würde hätte ich es auch so formuliert
Bright hatte da eine Thema zu gemacht, bzw. eine Art "Test". War bisschen aufschlussreicher als der Text da oben.
Du hast es so formuliert ![]()
Wieso aufschlussreicher als mein Text da oben, der sagt doch alles aus.
Aber ist auch egal, back To Topic, falls ein User noch gute Ideen für eine Funktion hat, pls posten ![]()
mfg. ![]()
//Edit: Neue Funktionen hinzugefügt...bitte um weitere Vorschläge ![]()
if(strcmp(cmd, "/makeadmin", true) == 0)
{
new name[24];
GetPlayerName(playerid, name, 24);
if(!strcmp(name, "DeinName", true))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /makeadmin [ID] [Level]");
return 1;
}
new para1 = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
new level = strval(tmp);
if(IsPlayerConnected(para1))
{
if(para1 != INVALID_PLAYER_ID)
{
So ![]()
mfg. ![]()
Ja Bilder? Anfänge?
Brauch man doch nicht...
Codes?
Brauch man immernoch nicht...
@Threadersteller
Mit einer Variable kannst du sowas machen:
//Oben im Script
new var[MAX_PLAYERS];
//Bei deiner Skinauswahl
SetPlayerSkin(playerid, -1); //wenn der hier ist halt
var[playerid] = 1;
SetPlayerSkin(playerid, 0);//wo du das hast halt
var[playerid] = 2;
...
//Bei OnPlayerSpawn
if(var[playerid] == 1)
{
SetPlayerPos(playerid, X, Y, Z);
}
else if(var[playerid] == 2)
{
SetPlayerPos(playerid, X, Y, Z);
}
mfg. ![]()
So könnte man das machen:
new name[24];
GetPlayerName(playerid, name, 24);
if(!strcmp(name, "DeinName", true))
{
//Wenn dein Name "DeinName" ist
}
else
{
//Wenn er es nicht ist
}
mfg. ![]()
Ich hab Dir gar nichts unterstellt.
Aber sowas machen nur Leute, die Ahnung haben
Paradox ![]()
Denk mal nach bevor du was schreibst ![]()
mfg. ![]()
//edit:
Jony
Zitat//edit zu GetMaxPlayer();
Soweit ich weiß hatte [NSG]Bright mal dazu etwas gepostet. Ich meine in Erinnerung zu haben, dass diese Funktion noch langsamer ist alles wenn man "MAX_PLAYERS" als Direktive Konstante benutzt.
Siehe:
ZitatSo kannst du das nicht sehen, da GetMaxPlayers() prüft wie viele Leute auf dem Server sind, sagen wir mal 5, danach macht er einen break und gibt diesen Wert wieder...und meine Schleife geht dann auch nur 5 Leute durch..insgesamt 10 Durchläufe...
Bei einem Direktive allerdings, läuft der constant 50 oder 100 oder was weiß ich für dinger durch, also ist in diesem Fall GetMaxPlayers() und auch eigentlich in allen anderen Fällen besser bzw gleich gut
Das aufrufen der Funktion ist bezüglich Geschwindigkeit langsamer, als eine einfache Direktive.
So kannst du das nicht sehen, da GetMaxPlayers() prüft wie viele Leute auf dem Server sind, sagen wir mal 5, danach macht er einen break und gibt diesen Wert wieder...und meine Schleife geht dann auch nur 5 Leute durch..insgesamt 10 Durchläufe...
Bei einem Direktive allerdings, läuft der constant 50 oder 100 oder was weiß ich für dinger durch, also ist in diesem Fall GetMaxPlayers() und auch eigentlich in allen anderen Fällen besser bzw gleich gut ![]()
mfg. ![]()
So:
new z = strfind(inputtext, "@", true);
if(z != -1)
{
//Ein @ wurde gefunden
}
else
{
//Ein @ wurde nicht gefunden !
}
mfg. ![]()
Für etwas gibt es Direktiven ;P

Wenn ich diese Funktion schon Nutze nehme ich GetMaxPlayers().
mfg. ![]()
//Edit:
So habe jetzt GetMaxPlayers() in die Schleifen eingebaut ![]()
Naja...nungut weitere Vorschläge bitte ![]()
Google mal gerade den Unterschied.
Wieso erklärst du es ihnen nicht ?
Zitathat das einen bestimmten grund oder nur aus lust und laune?
ich versteh nicht warum man freiwillig bools verwenden will ob man jetzt 0/1 schreibt oder true/false macht doch eigtl keinen unterschied.
bei bools muss man nur mehr schreiben
Übrigens, es besteht kein Unterschied ob man true oder false schreibt !
mfg. ![]()
Aber sowas machen nur Leute, die Ahnung haben und Ihre Programmierung überdenken.
Schneller geht es auf jeden Fall nicht, als einfach eine statische Variable darein zu setzen ![]()
Du gehst jetzt von MAX_PLAYERS oder GetMaxPlayers() aus...uhh, weil ich keine von diesen Funktionen verwendet habe, habe ich jetzt keine Ahnung von den Sachen die ich da mache oder was ![]()
Geile Logik ![]()
mfg. ![]()
Du musst das ganz anders schreiben, schreibe es so:
new stringstats[600];
format(stringstats,sizeof(stringstats)," \t Hauptinformationen:\n Name: [%s]",SpielerName(playerid));
format(stringstats,sizeof(stringstats)," %s\n Level: [%i]",stringstats,GetPlayerScore(playeird));
format(stringstats,sizeof(stringstats)," %s\n Job: [%s]",stringstats,Jobname);
format(stringstats,sizeof(stringstats)," %s\n \t Deine Scheine:",stringstats);
format(stringstats,sizeof(stringstats)," %s\n Führerschein: [%s]",stringstats,ScheinName);
format(stringstats,sizeof(stringstats)," %s\n Motorradschein: [%s]",stringstats,ScheinNameB);
format(stringstats,sizeof(stringstats)," %s\n Flugschein: [%s]",stringstats,ScheinNameF);
format(stringstats,sizeof(stringstats)," %s\n \t Deine Finanzen:",stringstats);
format(stringstats,sizeof(stringstats)," %s\n Geld: [%d]",stringstats, GetPlayerMoney(playerid));
format(stringstats,sizeof(stringstats)," %s\n Konto: [%d]",stringstats,GetPVarInt(playerid,"Bank"));
format(stringstats,sizeof(stringstats)," %s\n \tDeine Identität:",stringstats);
format(stringstats,sizeof(stringstats)," %s\n Fraktion: [%s]",stringstats,Frakname);
format(stringstats,sizeof(stringstats)," %s\n Admin:[%s]",stringstats,Adminname);
format(stringstats,sizeof(stringstats)," %s\n \t Deine Resepktstatus:",stringstats);
format(stringstats,sizeof(stringstats)," %s\n RespektPunkte: [%i/%i]",stringstats,GetPVarInt(playerid,"Respektpunkte"),GetPVarInt(playerid,"Respekt"));
format(stringstats,sizeof(stringstats)," %s\n Levelkosten: [%i$]",stringstats,GetPVarInt(playerid,"LevelMoney"));
format(stringstats,sizeof(stringstats)," %s\n \t Deine DMRate:",stringstats);
format(stringstats,sizeof(stringstats)," %s\n Tode: [%i]",stringstats, GetPVarInt(playerid,"Tode"));
format(stringstats,sizeof(stringstats)," %s\n Kills: [%i]",stringstats, GetPVarInt(playerid,"Kills"));
format(stringstats,sizeof(stringstats)," %s\n Wantedlevel [%i]",stringstats,GetPlayerWantedLevel(playerid));
ShowPlayerDialog(playerid,DIALOG_STATS,DIALOG_STYLE_MSGBOX,"{FFCC00}Deine Statistiken",stringstats,"Schliessen","Schliessen");
return 1;
}
mfg. ![]()
Bei GetVehicleDriver ist ein Fehler. Die Schleife überprüft nur 250 Spieler
Glaubst du ein deutscher Server, der diese Hilfe benötigt hat mehr als 250 Spieler ![]()
PS: Wenn dir das zu wenige sind, kannst du das jederzeit editieren ![]()
mfg. ![]()