Beiträge von SoulMan

In 10 Minuten startet der nächtliche Backupvorgang! Es kann währenddessen (ca. 10 Minuten) zu Einschränkungen bei der Nutzung des Forums kommen
Weitere Infos findet ihr im Thema Backup des Forums

    Schreibt man new pInfo[MAX_PLAYERS][Info]; über das enum, gibt es zwar
    Errors, aber Andere, da hat Maddin nicht ganz unrecht.
    Das als völligen Schwachsinn abzustempeln, ohne es zu testen, das ist Schwachsinn.
    Nur mal so am Rand, nicht das du dich dann wunderst, wenn es zu Errors kommt. ;)
    mfG
    Walker


    //Leerzeile vergessen.

    Nein, auf keinen Fall %d mit %s ersetzen, erkläre dir das morgen, gehe jetzt schlafen. ;)
    Ich sag dir jetzt schonmal ganz grob, dass dies mit switch und case ganz einfach zu handhaben ist.
    mfG
    Walker

    Also ich hab momentan leider nicht mehr so den Nerv, alles durchzugehen, sorry ist schon n Weile her, dass ich aufgestanden bin.
    Aber ich würde so ganz grob sagen, dass du dort irgendwie ganz schön Käse gescriptet hast. :whistling:
    Mit Dialogen habe ich keinerlei Erfahrung, weswegen ich dir in der Hinsicht nicht helfen kann.
    Einiges versteh ich aber weniger, z.B.
    if(listitem == 1)
    {
    SendClientMessage(playerid,COLOR_GREEN,"Dubist nun vom Job Anwalt");
    Spieler[playerid][Job] = 0;
    return 1;
    listitem gibt wohl die Zeile an, warum du dort den Job auf 0 setzt, ist mir ein Rätsel.


    Schreib mich am besten morgen Nachmittag nochmal an.
    mfG
    Walker

    Ich würde jetzt mal sagen ja, aber ich bin nicht sicher, teste es doch mal.
    Dann poste das Ergebnis hier rein.
    mfG
    Walker


    //Warum
    else if(Spieler[playerid][Job] >= 0)
    Das würde doch heißen, wenn die JobID größer als 0 oder gleich 0 wäre, ändere das mal in
    else if(Spieler[playerid][Job] > 0)

    Naja, der Name des Jobs wird nur Ingame angezeigt, nicht in der .ini. ;)
    Den Namen kann man aber relativ einfach selbst definieren.
    Ich ändere die Variable aber nicht mit dini_IntSet da dies nur zum speichern ist.
    Ändern tust du sie in dem jeweiligen Befehl, z.B. so.
    pInfo[playerid][Job] = JobID; //pInfo heißt es, weil mein enum Info heißt. Job ist das, was im enum steht und JobID ist nur die Variable im Befehl
    mfG
    Walker


    //Code ausgebssert, Schreibfehler :S
    //Und nochmal. :pinch:

    Also ich glaube nicht, das dir Jemand das scriptet, aber ich gebe dir gern ein Denkanstoß.
    Erstmal brauchst du Job's, die du mit Nummern(/Integern) definierst. Und wenn nun Jemand deinen gewünschten Befehl eingibt oder ein Stichwort eines Dialoges anklickt,
    speicherst du die (neue) "JobID" mit z.B. mit
    dini_IntSet
    Den Job definierst du, indem du mit bestimmten gegebenen JobID's Befehle nutzbar machst.
    Es geht letztendlich immer nur um die ausgelesene Zahl, die dir bestimmte Befehle ermöglicht.
    Was du nun damit machst, bleibt dir überlassen.
    Evtl. nochmal paar Tut's durchlesen.
    mfG
    Walker


    //Zeit vertauscht. :S

    PlayerToPoint ist auch schon etwas veraltet. 8|
    Benutz stattdessen lieber IfIsPlayerInRangeOfPoint
    Musst aber wahrscheinlich ein paar andere Sachen ebenfalls anpassen.
    mfG
    Walker

    Ich habe es beispielsweise so:
    public OnPlayerRequestClass(playerid, classid)
    {
    SetPlayerPos(playerid,1738.9098,-1948.2825,14.1172);
    SetPlayerFacingAngle(playerid,177.2759);
    SetPlayerCameraPos(playerid,1738.9277,-1951.4822,14.1172);
    SetPlayerCameraLookAt(playerid,1738.9098,-1948.2825,14.1172);


    switch(classid)
    {
    case 0,1,2,3,4,5: GameTextForPlayer(playerid,"~g~Grove Street Families",500,3);
    case 6,7,8: GameTextForPlayer(playerid,"~p~Jefferson 82 Ballas",500,3);
    case 9,10,11: GameTextForPlayer(playerid,"~y~Los Santos Vagos",500,3);
    case 12,13,14,15,16,17,18,19: GameTextForPlayer(playerid,"~w~Los Santos Police",500,3);
    case 20,21,22: GameTextForPlayer(playerid,"~b~Varrios Los Aztecas",500,3);
    case 23,24,25,26,27: GameTextForPlayer(playerid,"~r~Triaden",500,3);
    case 28,29,30,31: GameTextForPlayer(playerid,"~b~San Andreas Medics",500,3);
    default: GameTextForPlayer(playerid,"~w~Zivilisten",500,3);
    }
    return 1;
    }
    Das GameTextForPlayer lässt die farbige Schrift erscheinen. Dies steht immer hinter der Fraktion, bei der dies angewendet werden soll.
    Also, case 0,1,2,3,4,5: GameTextForPlayer(playerid,"~g~Grove Street Families",500,3);
    "~g~" gibt die Farbe der Schrift an, 500 die Zeit zum Anzeigen deines Textes und 3 ist der Stil.
    case 0,1,2,3,4,5: Gibt den Skin an, der bei public OnGameModeInit() mit AddPlayerClass hinzugefügt wird.
    AddPlayerClass 1-6 sind bei mir die Grove Street Skins, daher diese Zahlen. Mit 0 wird angefangen, da bei SA:MP von 0 angefangen wird, zu zählen.


    Näheres dazu gibt es hier -> http://wiki.sa-mp.com/wiki/GameTextForPlayer


    mfG
    Walker


    P.S.
    Halbes Tutorial geschrieben. :D


    //Zahl verbessert. :P

    Hey, Scripter!
    Ich hab ein kleines Problem und komme nicht auf meinen Fehler. Ich wollte einen /a Chat, der nur für Admins nutzbar und sichtbar ist scripten,
    jedoch können ihn auch andere nutzen. Die Nachrichten werden zwar nur für Admins angezeigt, aber trotzdem können Nicht-Admins hineinschreiben.
    Hier der Code:
    dcmd_a(playerid,params[])
    {
    if(pInfo[playerid][AdminLevel] > 0)
    {
    new text[64], Player[MAX_PLAYER_NAME], string[128];
    if(sscanf(params, "s",text)) return SendClientMessage(playerid,0xC8C8C8FF,"/a(dminchat) [Text]");
    GetPlayerName(playerid,Player, sizeof(Player));
    format(string,sizeof(string),"**(( %s: %s ))**", Player,text);
    for(new i=0;i<MAX_PLAYERS;i++)
    {
    if(pInfo[i][AdminLevel] > 0)
    {
    SendClientMessage(i,0xFFE600FF, string);
    }
    }
    }
    else return SendClientMessage(playerid,0xC8C8C8FF,"Du bist kein Admin!");
    return 1;
    }
    Hoffe, Jemand kann mir helfen, ist eig. ein simples Problem, aber ich finde den Fehler nicht. :whistling:
    mfG
    Walker

    Kann ich nicht sehr empfehlen.
    Falls man Keybinder scriptet, bedeutet das doppelt soviel Befehle bei Toren.
    Mit einem Timer ist einem da besser geholfen. ;) Zudem gibt es auch schon zig Tutorials darüber.
    4/10
    mfG
    Walker


    //Vertippt.

    Der blanke Error bedeutet umgangssprachlich, dass du entweder zu viel oder zu wenig Werte eingesetzt hast.
    Sie stimmen mit der Abfrage nicht überein.
    Wie Benjamin schon gepostet hat, kannst du auch in der Wiki nochmal nachschauen, was genau du einsetzen musst. ;)
    Hoffe, dir hilft das auch in Zukunft. Die Wiki hilft mir z.B. sehr oft. :)
    mfG
    Walker