Zeile 232, folgender Text beinhaltet das:
format(dateiname[playerid],sizeof(dateiname[playerid]),inputtext);
Fehler gefunden.
Die Lösung:
format(dateiname[playerid],20),inputtext);
Zeile 232, folgender Text beinhaltet das:
format(dateiname[playerid],sizeof(dateiname[playerid]),inputtext);
Fehler gefunden.
Die Lösung:
format(dateiname[playerid],20),inputtext);
Wie erstelle ich denn einen String für jeden Spieler?
Bisher hab ich folgendes:
new dateiname[MAX_PLAYERS][20];
format(dateiname[playerid],sizeof(dateiname[playerid]),inputtext);
Es spuckt aber leider nur Fehler aus
Der Inputtext eines Dialoges soll in der Variable gespeichert werden.
//Edit:
Hier die Fehler:
error 001: expected token: "]", but found "-identifier-"
warning 215: expression has no effect
expected token: ";", but found "]"
error 029: invalid expression, assumed zero
fatal error 107: too many error messages on one line
Moin Breafish,
Folgende Frage:
Ich will bei einem DIalog(DIALOG_STYLE_LIST) als Listitem den Dokumentennamen
von allen Textdateien anzeigen lassen, die in einem bestimmten Ordner sind.
Beispiel:
2 Dateien (samp & samp2) sind in einem Ordner.
Der Dialog soll also folgendermaßen sein:
"samp\nsamp2"
Ich weiß nicht wie ich das mache, ich arbeite mit dini.
LG
Pille
//Push
// Push2
Beim Public "OnPlayerSpawn" die Fraktion des Spielers überprüfen
und dementsprechend "SetPlayerPos" reinhaun
Hm, sei mir nicht böse, aber das versteh ich nicht ganz
Mit returnen hab ichs nicht so
Wenn der Server abstürzt wird das Public "OnPlayerDisconnect" nicht aufgerufen - Alle
Daten gehen verloren.
Bei einer Endround weiß ich es nicht, aber mache bei dem Befehl "gmx" oder "Endround"
einfach eine forschleife rein, die jeden Spieler saved.
Dafür ist der Respawntyp 14 da
ZitatPickupable, but only when in a vehicle.
new pickup;
OnGameModeInit
pickup=CreatePickup(3096,14,1599.4000244141,-1623.0,14.300000190735,-1);
OnPlayerPickupPickup
if(pickupid==pickup)
{
if(Abfrage ob das ein Cop // FBI ist)
{
RepairVehicle(GetPlayerVehicleID(playerid));
SetVehicleHealth(GetPlayerVehicleID(playerid,1000);
}
}
Moin!
Ich war gerade dabei ein Makeadmin - Befehl zu erstellen (mit strget).
Das hat auch alles super funktioniert, aber da der Befehl rund 40 Zeilen braucht,
wollte ich das Suchen nach dem Spieler in einen Stock packen.
Hier der eigentliche Befehl:
if(strcmp(strget(cmdtext,0),"/makeadmin",true)==0)
{
if(Spieler[playerid][Adminlevel]!=5) return SendClientMessage(playerid,ERROR,"Du bist dazu nicht berechtigt.");
if(strlen(strget(cmdtext,1))==0||strlen(strget(cmdtext,2))==0) return SendClientMessage(playerid,ERROR,"Benutze: /makeadmin [Spieler] [Rank]");
new Rank;
new pID;
Rank=strval(strget(cmdtext,2));
SpielerSuchen(playerid,strget(cmdtext,1),pID);
Spieler[pID][Adminlevel]=Rank;
new string[50];
format(string,sizeof(string),"%s hat %s zum Admin %i gemacht.",SpielerName(playerid),SpielerName(pID),Rank);
SendClientMessageToAll(ERROR,string);
format(string,sizeof(string),"%s hat dich zum Admin %i gemacht.",SpielerName(playerid),Rank);
SendClientMessage(pID,ERROR,string);
return 1;
}
Hier der eigen erstellte Stock:
stock SpielerSuchen(playerid,text[],pssaaas)
{
if(IsNumeric(text)) pssaaas=strval(text);
else
{
new anzahl;
new stringpID[MAX_PLAYER_NAME+1];
format(stringpID,sizeof(stringpID),"%s",text);
for(new ID=0;ID<MAX_PLAYERS;ID++)
{
if(IsPlayerConnected(ID))
{
if(strfind(SpielerName(ID),stringpID,true,0)!=-1)
{
anzahl++;
pssaaas=ID;
}
}
}
if(anzahl!=1) return SendClientMessage(playerid,ERROR,"Spieler wurde nicht gefunden.");
else if(!IsPlayerConnected(pssaaas)) return SendClientMessage(playerid,ERROR,"Spieler wurde nicht gefunden.");
}
return pssaaas;
}
Das Problem:
Sobald ein Error kommt (Kein Spieler gefunden, die ID nicht gefunden etc.) wird der Stock beendet
und pID wird als ID ausgeführt. da eine neue Variable standartmäßig 0 ist,
wird dann zwar der Text "Spieler wurde nicht gefunden" angezeigt, aber Spieler mit der ID 0 bekommt
den Admintitel den man angibt.
Danke für die Hilfe
// Push bitte!
Die sind nicht unsichtbar, der Skin ist nur hinter der Kamera.
Du musst mit
SetPlayerCameraPos(playerid,x,y,z);
SetPlayerCameraLookAt(playerid,x,y,z);
die Kameraeinstellung ändern.
new zufall; zufall=random(sizeof(sound)); PlayerPlaySound(playerid,sound[zufall],0,0,0);
Das muss alles bei OnPlayerConnect rein..
Du sagtest doch "fast immer"
Eben, Zufallslied
new Sound[3];
sound[0]=1183;
sound[1]=1185
sound[2]=1187;
new zufall;
zufall=random(sizeof(sound));
PlayerPlaySound(playerid,sound[zufall],0,0,0);
for(new i=0;i<MAX_PLAYERS;i++)
{
if(IsPlayerConnected(i))
{
SetTimerEx("pickups",5000,true,"i",i);
}
}
Ist ein Versuch wert
Ich weiß nicht ob das seit eben bei euch auch ist,
aber mir werden z,B. die Codes in enier viel größeren Schriftgröße angezeigt.
Auch die "neuen Beiträge" sind viel größer..
Mich stört es, wäre schön wenn man das wieder auf Standart zurücksetzt
Ich hab bei OnGameModeInit das:
SetTimerEx("pickups", 5000, true,"i",playerid);
Versuchs mal
Runde Ring-Checkpoints? Wie geht das?