hatte damals das gleiche problem.. bis heute kein plan warum das so ist. denn am script lags nicht.
auch schon des öfteren beiträge darüber gesehen.. wo niemand drauf antwortet.
scheint irgendwie zu passieren wenn man auf den spawn button drückt und nicht beim einloggen oder sonstiges.
Beiträge von Tround
-
-
also
schleife fängt bei 0 an.
auf spieler 0 gibt es ein kopfgeld.
string1 wird formatiert und der text "%skopfgeld auf spieler : %s\n" wird in den string gespeichert.schleife geht zu 1
auf spieler 1 gibts auch ein kopfgeld.format(string1,128,"%skopfgeld auf spieler : %s\n",string1,sname(i));
durch das erste %s (rot markiert) wird der text von id 0 wieder in den string gespeichert und danach der text von id 1.das geht dann immer so weiter bis die schleife durchgelaufen ist.
du kannst auch alternativ strcat verwenden: http://wiki.sa-mp.com/wiki/Strcat
da benötigt man 2 strings. -
format(str,sizeof(str),"- %s (Handy: %i)\n- %s (Handy: %i)",str,PlayerName(i),Handynummer[i]);
das %i für playername? müsste doch ein string sein?
zudem 4 platzhalter aber nur 3 argumenteirgendwie raff ich da nix
-
ich würde mal behaupten mit einer schleife.
new string1[128];for(new i=0;i<MAX_PLAYERS;i++) //eine schleife durch alle slots
{
if(!IsPlayerConnected(i))continue; //falls nicht connected continue
if(PlayerInfo[i][kopfgeld]==0)continue; //falls kein kopfgeld continue
format(string1,128,"%skopfgeld auf spieler : %s\n",string1,sname(i)); //spieler mit kopfgeld zum string hinzufügen
}ShowPlayerDialog(playerid,DIALOG_HITMANLAPTOPAUFTRAG,DIALOG_STYLE_LIST,"Aufträge",string1,"Weiter","Abbrechen"); //fertiger string nach der schleife im dialog ausgeben
hab lange nicht mehr gescriptet und sind auch sicher fehler drin.. aber theoretisch kannst du es dir vielleicht vorstellen. -
stock IsPlayerAnAdmin(playerid,rang)
{
if(GetPVarInt(playerid,"Adminlevel")<=rang)return 1;
return 0;
}ocmd:supcar(playerid,params[])
{
if(IsPlayerAnAdmin(playerid,2))
{
ShowPlayerDialog(playerid,DIALOG_SUPCAR,DIALOG_STYLE_LIST,"Supcar Menü","Sultan\nCheetah\nCaddy","Wählen","Abbrechen");
}
else SendClientMessage(playerid,rot,"Du bist dazu nicht berechtigt!");
return 1;
}hast du meinen beitrag übersehen ? -.-
-
< zu >
< kleiner als rang
<=kleiner ist gleich rang (ausganszahl wird mitgezählt)return 1; bestätigung
return 0; acces deniedalso falls der rang kleiner ist gleich adminlevel ist wird es bestätigt und nicht abgelehnt.
-
Ich möchte an denn Gewinnspiel Teilnehmen von sponsoring4all
-
Eigentlich soll nichts gespeichert werden :D, aber der Typ hat gesagt, dass man das muss.
Weil sonst wird der Spieler nicht in das Auto gesetzt. Ich habs nicht kapiert, was er damit meinte, wozu speichern.
Naja, wenn es so klappt, dann soll es so gemacht werdenIch weiß noch nicht einmal was gespeichert werden muss.
MfG
echt krass
warum will er das abspeichern? der grund is der hammer.ini_dini_explode_erno_string haha
-
ja ok dann frage ich jetzt..
du suchst also nach : kompetenten Scriptern, Mappern und Foren-Moderatoren/Technikern
was is deine rolle in dem ganzen? was bleibt dann noch übrig ? die rechnung bezahlen ? ts einrichten ? wow -
bei so anfragen denke ich mir nur jedes mal .. ihr sucht also leute die alles für euch machen und ihr könnt dann schön oben auf eurem tron chillen.
warum sollte ich mir z.b als scripter den arsch aufreissen.
nicht böse gemeint aber das denke ich jedes mal .. -
du könntest doch einfach einen textdraw erstellen den du mit textdrawsetstring länger/kürzer machen kannst.
10% -> _
20% ->__
usw..
würdest viele textdraws sparen. zu dem auch viel einfacher zu machen. -
also ist in cInfo[i][besitzer] eine id eingespeichert und kein name?
auch strangedann kann ich nur noch debug empfehlen.
-
if(cInfo[i][besitzer]==sInfo[playerid][id0])return 1;
ich nehme mal an das sind strings. probiers mal mit strcmp zu vergleichen.
-
falsches passwort.. Access denied.. pass auf leerzeichen und groß/klein schreibung auf
-
wie wird der public OnDialogResponse in deinem hauptscript returnt?
wenn dort eine 1 steht versuch mal mit ner 0.zitat wiki:
Returning 0 in this callback will pass the dialog to another script in case no matching code were found in your gamemode's callback. -
[pwn]C:\Users\Johannes\Desktop\Server - Kopie\pawno\include\mysql.inc(175) : error 013: no entry point (no public functions)
ich vermute mal die falsche include?
die datei heißt a_mysql.inc nicht mysql.incedit: no entry point kenn ich nur wenn man die main function löscht im hauptscript.
main(){} <-- falls das gelöscht ist wirds daran liegen. -
bei if(sscanf(params,"dds",pID,time,reason)) könnteste auch uds verwenden damit man auch den namen verwenden kann und nicht nur die id des spielers
i, d Integer
u User name/id (bots and players)....
was genau klappt den nicht? -
habs mal bisschen überarbeitet.. aber keine garantie wie immer
enum event
{
e_name[128], // sollte ja ein string sein deshalb die größe dahinter
eventaktiv,
Float:epos[4], // kann man auch die größe angeben (array)
}
new eInfo[event]; //playerid unnötigocmd:eventan(playerid,params[])
{
new string[128]; // würde dir empfehlen einfach einen string global zu erstellen.. dann musst du nicht immer einen erstellen in jedem befehl.
if(!IsAdmin(playerid,1))return SendClientMessage(playerid,GRAU,"Fehler: Du bist nicht befugt diesen Befehl zu nutzen."); //kann man direkt returnen
if(sscanf(params,"s[128]",eInfo[e_name]))return SendClientMessage(playerid,GRAU,"Verwendung: /eventan [name]"); // "s[größe vom string]" nicht irgendwas random eingeben und den namen vom event kann man auch direkt einspeichern mit sscanf. brauchste kein extra string
GetPlayerPos(playerid,eInfo[epos][0],eInfo[epos][1],eInfo[epos][2]);
GetPlayerFacingAngle(playerid,eInfo[epos][3]);
format(string,sizeof(string),"Admin %s hat ein Event gestartet. Name: %s",SpielerName(playerid),eInfo[e_name]);
SendClientMessageToAll(CBLAU,string);
SendClientMessageToAll(CBLAU,"Mit /eventport könnt ihr euch zum Event porten.");
eInfo[eventaktiv]=1;
return 1;
}
ocmd:eventport(playerid,params[])
{
new string[128];
if(!eInfo[eventaktiv])return SendClientMessage(playerid,DROT,"Es ist kein Event aktiv.");
SetPlayerPos(playerid,eInfo[epos][0],eInfo[epos][1],eInfo[epos][2]);
SetPlayerFacingAngle(playerid,eInfo[epos][3]); //facingangle haste vergessen gehabt
format(string,sizeof(string),"Du hast dich zum Event %s geportet.",eInfo[e_name]);
SendClientMessage(playerid,BLAU,string);
format(string,sizeof(string),"%s hat sich zum Event geportet.",SpielerName(playerid));
SendAdminMessage(DROT,string);
return 1;
} -
das is sowas von furchtbar
warum hast du denn getuserid in den befehl eventan mit rein ? die sollte global sein so wie der kollege das oben gepostet hat.1. "playerid" ist komplett unnötig für das was du da vorhast.
2. new ename[64] + if(sscanf(params,"s[128]",ename)) der string ist nur 64 lang und im sscanf haste den mit 128 angegeben.
3. bei eventan liest du facing angle aus aber bei eventport setzt du den wert nicht.
4. was aber nicht schlimm ist nur ein tipp von mir.. du musst nicht für jedes if auch ein else haben. du kannst auch direkt returnen wie bei der sscanf zeile.
z.b. so: if(!IsAdmin(playerid, 1))return SendClientMessage(playerid,GRAU,"Fehler: Du bist nicht befugt diesen Befehl zu nutzen."); -
GetPlayerPos(playerid,eInfo[playerid][ex],eInfo[playerid][ey],eInfo[playerid][ez]);
SetPlayerPos(playerid, eInfo[playerid][ex],eInfo[playerid][ey],eInfo[playerid][ez]);
..
nur der admin der das event erstellt kann dort hin.
verstehe nicht den sinn von playerid in deinem enum.