Beiträge von T4125Gamer

    Zitat von Techno4Live

    new grund [128];


    steht die 128 für die anschläge also
    wenn ich jetzt [3]
    dahinter setzen würde könnte ich nur hey oderso als grund schreiben (nur beispiel)


    Die Zahl hinter dem Variablennamen sagt, wie viele Dimensionen die Variable hat -
    hier 128.


    Bei Pawn benötigt jede Ziffer eine Dimension,
    du kannst also einen Text von max. 128 Zeichen in deiner Beispiels variable speichern.

    mit ocmd geht das einfacher.


    ocmd:kick(playerid,params[])
    {
    new pID;
    new grund[128];
    new text[128];
    if(sscanf(params,"us",pID,grund))return SendClientMessage(playerid,FARBE,"/kick [id] [grund]");
    if(pID==playerid)return SendClientMessage(playerid,FARBE,"Du kannst dich nicht selber kicken");
    format(text,sizeof(text),"AdmCmd: %s wurde von %s gekickt. Grund: %s",SpielerName(pID),SpielerName(playerid),grund);
    SendClientMessageToAll(FARBE,text);
    Kick(pID);
    return 1;
    }


    So würde ich das machen.

    Zitat von Techno4Live

    new und dann was genau?


    So wie ich das gemacht habe, new pID (der User der dann letztendlich gekickt wird). Dann brauchst du natürlich auch noch den Grund, das hab ich mit new grund[128] gemacht.


    Das new text[128] ist deswegen da, weil ich mit format die SendClientMessage geschrieben habe, und dann via text in der SendClientMessage ausgeben kann.
    Siehe: SendClientMessageToAll(FARBE,text);

    Zitat

    return print("Das Haus wurde erfolgreich geladen");


    return DestroyPickup(HausInfo[hausid][haus_pickup]);


    zweimal returnen ist ja klar das er den Code nicht erreichen kann.


    stock LoadHaus(hausid)
    {
    new pfad[50];
    format(pfad,50,"/haus/%d.txt",hausid);
    if(!fexist(pfad))return 0;
    HausInfo[hausid][haus_x] = dini_Float(pfad,"x");
    HausInfo[hausid][haus_y] = dini_Float(pfad,"y");
    HausInfo[hausid][haus_z] = dini_Float(pfad,"z");
    HausInfo[hausid][haus_preis] = dini_Int(pfad,"preis");
    HausInfo[hausid][haus_innenraum] = dini_Int(pfad,"innenraum");
    format(HausInfo[hausid][haus_besitzer],32,"%s",dini_Get(pfad,"besitzer"));
    HausInfo[hausid][haus_pickup] = CreatePickup(1273 ,23,HausInfo[hausid][haus_x],HausInfo[hausid][haus_y],HausInfo[hausid][haus_z],0);
    new s[128];//Zeile 344
    format(s,128,"****Haus****\nBesitzer: %s\nPreis: %d$",HausInfo[hausid][haus_besitzer],HausInfo[hausid][haus_preis]);
    HausInfo[hausid][haus_label] = Create3DTextLabel(s,0xFF00FF,HausInfo[hausid][haus_x],HausInfo[hausid][haus_y],HausInfo[hausid][haus_z],20,0,1);
    return print("Das Haus wurde erfolgreich geladen");
    }


    stock KillHaus(hausid)
    {
    DestroyPickup(HausInfo[hausid][haus_pickup]);
    Delete3DTextLabel(HausInfo[hausid][haus_label]);//Zeile 353
    return 1;
    }


    so klappt es

    1.


    Zitat

    enum_SpielerAdmin
    {
    pAdminlevel,
    pAdminDuty
    }


    zu


    enum SpielerAdmin
    {
    pAdminlevel,
    pAdminDuty
    };


    2. hast du sscanf überhaupt includiert?

    Zitat von Arendium

    Warum immer dieser Stock es geht doch auch ein Enum/String der es beim Disconnecten/Connecten zwischenspeichert


    Weil ich stocks mag.


    if(strcmp(cmdtext, "/tanken", true) == 0)
    {
    else if (GetPlayerVehicleSeat(playerid) != 0) return SendClientMessage(playerid,COLOR_RED,"Du bist in keinem Fahrzeug (oder kein Fahrer).");
    new car = GetPlayerVehicleID(playerid);
    else if (TanktGerade[car]) return SendClientMessage(playerid,COLOR_RED,"Du tankst schon!");
    else if (Motor[car] == true) return SendClientMessage(playerid,COLOR_RED,"Du musst vor dem Tanken den Motor ausschalten.");
    new ZuTanken = 100-Tank[car];
    new preis = ZuTanken * BENZINPREIS;
    if (GetPlayerMoney(playerid)-preis < 0) return SendClientMessage(playerid,COLOR_TOMATO,"Du hast nicht genug Geld!");
    GivePlayerMoney(playerid, -preis);
    SendClientMessage(playerid, COLOR_GREEN, "Tanken wird gestartet.");
    SetCameraBehindPlayer(playerid);
    TogglePlayerControllable(playerid,0);
    TanktGerade[car] = true;
    tanktimer[playerid] = SetTimerEx("Auftanken",500,true,"i",playerid);
    return 1;
    }


    Dann machst du halt den Befehl wieder rein, und schaust was jetzt ist

    stock SpielerName(playerid)
    {
    new name[MAX_PLAYERS];
    GetPlayerName(playerid,name,sizeof(name));
    return name;
    }


    Zitat

    error 017: undefined symbol "SpielerName"


    1. Den Stock einfach ins Script


    2. so sollte es gehen


    if(strcmp(cmdtext, "/tanken", true) == 0)
    {
    if (GetPlayerVehicleSeat(playerid) != 0) return SendClientMessage(playerid,DUNKELROT,"Du bist in keinem Fahrzeug oder du bist kein Fahrer.");//Zeile 176
    new car = GetPlayerVehicleID(playerid);
    if (TanktGerade[car]) return SendClientMessage(playerid,HELLBLAU,"Du tankst bereits !");
    else if (Motor[car] == true) return SendClientMessage(playerid,HELLBLAU,"Du musst vor dem Tanken den Motor ausschalten.");
    new ZuTanken = 100-Tank[car];
    new preis = ZuTanken * BENZINPREIS;
    if (GetPlayerMoney(playerid)-preis < 0) return SendClientMessage(playerid,HELLBLAU,"Du hast nicht genug Geld um zu Tanken !");
    GivePlayerMoney(playerid, -preis);
    SendClientMessage(playerid,HELLBLAU, "Das Tanken wird gestartet.");
    SetCameraBehindPlayer(playerid);
    TogglePlayerControllable(playerid,0);
    TanktGerade[car] = true;
    tanktimer[playerid] = SetTimerEx("Auftanken",500,true,"i",playerid);
    return 1;
    }

    if (strcmp("/Pdt",cmdtext, true,10) == 0)
    {
    if(gTeam[playerid] == TEAM_COP)
    {
    MoveObject(pdtuer,244.3699951,72.6800003,1003.8400269,2);
    }
    else
    {
    SendClientMessage(playerid,ROT,"Du bist kein Cop!");
    }
    return 1;
    }
    if (strcmp("/Pdz",cmdtext, true,10) == 0)
    {
    if(gTeam[playerid] == TEAM_COP)
    {
    MoveObject(pdtuer,246.3600006,72.6699982,1003.8400269,2);//pdtürzu
    }
    else
    {
    SendClientMessage(playerid,ROT,"Du bist kein Ccp!");
    }
    return 1;
    }


    Wegen den ganzen Returns

    Neuesten Server Ordner Downloaden, die sachen vom alten Ordner in den neuen (Filterscripts, Gamemode, Plugins, Scriptfiles), und das Script einmal Compilen

    if(strcmp(cmdtext,"/work",true)==0)
    {
    if(skin == 0)
    {
    ShowPlayerDialog(playerid,66,DIALOG_STYLE_LIST,"why work that not","please help","ok","oke");
    } //By the 66 you need the Dialog where you Define
    else if(skin == 29)
    {
    ShowPlayerDialog(playerid,77,DIALOG_STYLE_LIST,"not working","why?","ok","OK");
    } //Same here
    else
    {
    SendClientMessage(playerid,BLAU,"why?");
    }
    }


    if(strcmp(cmdtext,"/job",true)==0)
    {
    if(GetPlayerSkin(playerid)==29)return ShowPlayerDialog(playerid,66,DIALOG_STYLE_LIST,"why work that not","please help","ok","oke");
    //Same here
    else if(GetPlayerSkin(playerid)==0)return ShowPlayerDialog(playerid,77,DIALOG_STYLE_LIST,"not working","why?","ok","OK");
    //Same here
    return 1;
    }


    Ok edit zu spät gelesen

    if (strcmp("/check", cmdtext, true, 10) == 0)
    {
    if(IsPlayerInRangeOfPoint(playerid,10,1129.1315,-1489.7450,22.7690))
    {
    SendClientMessage(playerid,weis,"ja du bist am noobspawn");
    }
    else
    {
    SendClientMessage(playerid,rot,"Nein , du bist nicht am noobspawn");
    } return 1;
    }
    So, du hast bei IsPlayerInRangeOfPoint die zweite Klammer am Schluss vergessen