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.

    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.


    hast du meinen beitrag übersehen ? -.-

    < zu >


    < kleiner als rang
    <=kleiner ist gleich rang (ausganszahl wird mitgezählt)


    return 1; bestätigung
    return 0; acces denied :D


    also falls der rang kleiner ist gleich adminlevel ist wird es bestätigt und nicht abgelehnt.


    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 werden :D Ich weiß noch nicht einmal was gespeichert werden muss.
    MfG


    echt krass :D
    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 ..

    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.inc



    edit: 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ötig



    ocmd: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.