Beiträge von bigb



    Danke hört sich sehr plausibel an ;) Ich hoffe es funktioniert, wenn ich es später ausprobiert habe, dann sage ich Bescheid.



    //edit: Danke, danke, danke :D Es geht! Ziemlich geil sogar ;D

    Hey, ich habe jetzt ein Hitman System gemacht. Es funktioniert auch mit /kopfgeld [ID] [Preis]. Und ich sehe als Hitman auch auf wen ein Kopfgeld ausgesetzt ist, aber wenn ich diese Person als Hitman dann töte, passiert nichts :pinch:




    public OnPlayerDeath(playerid, killerid, reason)


    {


    if(killerid != INVALID_PLAYER_ID)


    {


    if(Kopfgeld[playerid] >= 1)


    {


    if(isPlayerInAFraktion(playerid,3) || isPlayerALeader(playerid,3))


    {


    new name[MAX_PLAYER_NAME], string[128];


    GetPlayerName(playerid,name,sizeof name);


    format(string,sizeof(string),"Du hast %s's Kopfgeld in Höhe von %d$ bekommen!",name,Kopfgeld[playerid]);


    SendClientMessage(killerid,0xFF9900AA,string);


    format(string,sizeof(string),"~b~Kopfgeldauftrag erfuellt!!! ~n~ ~g~Spieler: ~s~%s ~n~ ~g~Kopfgeld:


    ~s~%d$",name,Kopfgeld[playerid]);


    GameTextForPlayer(killerid,string,7000,4);


    GivePlayerMoney(killerid,Kopfgeld[playerid]);


    Kopfgeld[playerid] = 0; }


    }


    }


    return 1;


    }




    /edit: Formatierung

    Hey, ich habe in meinem Selfmade mehrere Parameter (/ban , /kick , /makeleader). Immer wenn ich jetzt z.B
    /kick andererspieler bugusing. Dann kick ich mich immer selber. Dann kommt: "BigB wurde von BigB gekickt. Grund: Bugusing.


    Das ist auch mit "/makeleader" so. Wenn ich mit Admin1 alleine online bin und "/makeleader admin1 2" Dann kommt: "Du wurdest zum Leader der Sanitäter ernannt." Wenn ich jetzt mit Admin1 und Admin2 zu zweit online bin, und ich gebe als ADMIN1 "/makeleader admin2 3" Dann wird ADMIN1 zum Leader der Fraktion Hitman ernannt. Wenn Admin2 alleine online ist und "/makeleader admin2 3" Dann wird er zum Leader der Hitmans ernannt.


    Also immer wenn mehr als ein Spieler online ist, funktionieren meine Parameter nicht mehr.


    /kick:



    if(!strcmp(strget(cmdtext,0),"/kick")) {


    if(isPlayerAnAdmin(playerid,1))


    {


    if(!strlen(strget(cmdtext,1)))


    return


    SendClientMessage(playerid,grau,"Benutze: /kick [ID] [Grund]");


    new grund[128];


    new string[128];


    new id = strval(strget(cmdtext,1));


    new spieler[MAX_PLAYER_NAME];


    new admin[MAX_PLAYER_NAME];


    grund = strget(cmdtext,2);


    GetPlayerName(id,admin,sizeof(admin));


    GetPlayerName(playerid,spieler,sizeof(spieler));


    format(string, sizeof(string), "AdmCmd: %s wurde von %s gekickt. Grund: %s", admin, spieler, grund);


    SendClientMessage(playerid, rot, string);


    Kick(id);


    }


    return 1;


    }






    if(!strcmp(strget(cmdtext,0),"/makeleader"))


    {


    if(isPlayerAnAdmin(playerid,4)) {


    if(strlen(strget(cmdtext,1))) {


    new typ=strval(strget(cmdtext,1));//der erste Parameter wird ausgelesen (die Spieler ID (in diesem Fall 1))


    if(IsPlayerConnected(typ)) {//es wird überprüft, ob der Spieler (in diesem Fall 1) connected ist


    if(strlen(strget(cmdtext,2))) {


    new team=strval(strget(cmdtext,2)), s[100], js[20], skin;//das zweite Parameter (die Jobid) wird ausgelsen


    SetPVarInt(typ, "Leader", team);


    SetPVarInt(typ, "Fraktion", team);


    if(team==0) { format(js,sizeof(js),"Penner"); skin=78; }


    SetPlayerColor(playerid, weiß);


    if(team==1) { format(js,sizeof(js),"Präsidenten"); skin=166; }


    SetPlayerColor(playerid, lila);


    if(team==2) { format(js,sizeof(js),"Sanitäter"); skin=70; }


    SetPlayerColor(playerid,türkis);


    if(team==3) { format(js,sizeof(js),"Hitman"); skin=294; }


    SetPlayerColor(playerid,weiß);


    if(team==4) { format(js,sizeof(js),"Polizei"); skin=265; }


    SetPlayerColor(playerid,blau);


    format(s,sizeof(s),"Du wurdest zum Leiter der %s gemacht",js);


    SendClientMessage(typ,grün,s);


    SetPlayerSkin(typ,skin); }


    else { SendClientMessage(playerid, rot,"Benutze: /makeleader [ID] [Fraktion]"); }}


    else { SendClientMessage(playerid, rot,"Spieler ist nicht online"); }}


    else { SendClientMessage(playerid, rot,"Benutze: /makeleader [ID] [Fraktion]"); }}


    else { SendClientMessage(playerid, rot,"Du bist kein Admin!"); }


    return 1;


    }


    }







    PS: Arbeite mit PVar von MrMonat


    Edit 1: Eingerückt
    Edit 2: Rechtschreibung
    Edit 3: /makeleader hinzugefügt

    Hey, ich habe in meinem Selfmade 6 Teams hinzugefügt, das klappt auch soweit alles sehr gut. Jetzt will ich bei der Skinauswahl zu jedem Skin, also zu jedem Team eine kleine Beschreibung senden (Zu jedem Team 3 Zeilen). Habe das jetzt mal so probiert:




    switch(classid)
    {
    case 0: SendClientMessage(playerid, COLOR_YELLOW, "Als Soldat der Army Los Santos kämpfst du für deinen Staat");
    case 0: SendClientMessage(playerid, COLOR_YELLOW, "gegen die Aufständige Armee aus San Fierro. Ob Luftangriff,");
    case 0: SendClientMessage(playerid, COLOR_YELLOW, "Bodenangriff oder ob du aus dem Wasser kommst, ist dir überlassen");
    case 1: SendClientMessage(playerid, COLOR_RED, "In Los Santos herrscht durch den Krieg Chaos. Es gibt kein Recht mehr");
    case 1: SendClientMessage(playerid, COLOR_RED, "Deswegen willst du flüchten, weil du denkst in San Fierro wartet ein geordnetes");
    case 1: SendClientMessage(playerid, COLOR_RED, "Leben auf dich. Aber lass dich nicht von den Grenzjägern erwischen.");
    case 2: SendClientMessage(playerid, COLOR_WHITE, "Wenn du dich für die Los Santos Behörde entscheidest, arbeitest du für den Staat");
    case 2: SendClientMessage(playerid, COLOR_WHITE, "und sorgst dafür das in Los Santos keine illegalen Einwohner aus San Fierro wohnen.");
    case 2: SendClientMessage(playerid, COLOR_WHITE, "solltest du einen illegalen Einwanderer sehen, so hast du automatisch Schussfreigabe");
    case 3: SendClientMessage(playerid, COLOR_YELLOW, "Als Soldat der Army San Fierro bist du im Krieg gegen die Armee aus Los Santos.");
    case 3: SendClientMessage(playerid, COLOR_YELLOW, "Greife mit der Luftwaffe den Armee-Stützpunkt in Los Santos an. Oder stürme");
    case 3: SendClientMessage(playerid, COLOR_YELLOW, "mit deiner Truppe das Bodenlager in Los Santos, du hast viele Möglichkeiten den Krieg zu gewinnen.");
    case 4: SendClientMessage(playerid, COLOR_RED, "In San Fierro ist das Leben trotz des Krieges geregelt.");
    case 4: SendClientMessage(playerid, COLOR_RED, "Doch aufgrund der vielen illegalen Einwanderer aus Los Santos herrscht viel Kriminalität");
    case 4: SendClientMessage(playerid, COLOR_RED, "Vielleicht wartet in Los Santos ein neues Leben auf dich?");
    case 5: SendClientMessage(playerid, COLOR_WHITE, "In San Fierro leben viele Los Santos Bürger ohne Visum.");
    case 5: SendClientMessage(playerid, COLOR_WHITE, "Die meisten von ihnen sind gefährlich. Also ist es dein Ziel die illegalen Bürger,");
    case 5: SendClientMessage(playerid, COLOR_WHITE, "zu finden und zu töten.");
    }




    Doch dann kommen diese Errors:





    Ich denke das liegt daran, das man immer nur ein "case" machen kann.


    //edit vergessen:


    Wie kann ich das noch lösen?

    Also habe mit diesem Tutorial eine "Gangzone" erstellt.


    [ SCRIPTING ] Gangzonen erstellen (für Anfänger)



    Also habe das jetzt so:


    new LS_Army;



    public OnGameModeInit()
    {//Zonen//Los Santos
    LS_Army = GangZoneCreate(2809.8669, -2330.4480, 2374.5320, -2696.3889);}



    public OnPlayerConnect(playerid)
    {(61)GangZoneShowForAll(LS_Army, COLOR_DUNKELROT);return 1;}



    Doch beim Compilen kommen diese Warnung


    Code
    (61) : warning 225: unreachable code


    Wenn ich dann Ingame gehe sehe ich diese Zone weder auf der großen Map noch auf der Minimap :(


    Weiß wer an was das liegt?

    hmmm ^^


    warning 202: number of arguments does not match definition



    Eigentlich sind ja Warnungen nicht schlimm, aber mit denen kann ich den Server im Moment garnicht starten :(


    Also die zwei Warnungen sind wieder hier:


    SetTimerEx("Wetter",900000, 1);
    SetTimerEx("SetWetter",1000, 1);


    Gesamt:


    public OnGameModeInit()


    {
    Wetter();SetTimerEx("Wetter",900000, 1);
    SetTimerEx("SetWetter",1000, 1);




    //Edit:


    Oh yeeeah :D SO ist es richtig ^^


    public OnGameModeInit()
    {
    Wetter();
    SetTimer("Wetter",900000, 1);
    SetTimer("SetWetter",1000, 1);

    Jojo soweit hab ichs schon gecheckt :D


    Mich interessiert nur, sagen wir mal ich mach einen Reallife Server. Dann brauch ich ja z.B. ein Autohausscript und ein Berufescript.


    Kann ich dann einfach in meinen Gamemode bigb.pwn beides getrennt von einander schreiben also so:


    //Autohaus
    blalalalalalbla
    blalval
    //Berufe
    bllslladlfdl
    blaalblabla



    oder muss ich mehrere Dateien machen wie Autohaus.pwn oder Berufe.pwn und irgendwo muss ich dann auswählen welche Scripts ich auf meinem Server haben will, sowie es bei den Filterscripts ist in der server.cfg.



    Vielen Dank für eure Hilfe!! :)

    Hey, habe heute mit Scripten angefangen :)


    Erstmal eine "Interessensfrage":


    1. Ich erstelle mir gerade meinen eigenen Gamemode. In diesem Ordner gibt es ja schon Gamemodes, von jedem Gamemode gibt es 2 Dateien. Einmal .pwn also das Script und einmal .amx , was ist die .amx Datei?


    2. Wenn ich mir meinen Gamemode erstelle in dem Orden "gamemodes" reicht da eine .pwn Datei, in der ich alle Funktionen wie die Teleports, Fahrzeuge,... reinschreibe?


    3. Will einen Port machen:


    // Teleportspublic OnPlayerCommandText(playerid,cmdtext[])



    if (strcmp("/lspd", cmdtext, true, 10) == 0)
    {
    SetPlayerPos(playerid,1552.4500,-1674.9900,16.1953);
    SendClientMessage(playerid, #9932CC, "Du hast dich zum LSPD teleportiert");
    return 1;
    }


    Code
    C:\Dokumente und Einstellungen\Desktop\SAMP-Server\gamemodes\BigB.pwn(29) : error 035: argument type mismatch (argument 2)
    C:\Dokumente und Einstellungen\Desktop\SAMP-Server\gamemodes\BigB.pwn(34) : warning 209: function "OnPlayerCommandText" should return a value


    Was mache ich falsch?