Beiträge von Airsnake

    Ich habe es mal etwas abgeändert, aber sollte gehen :) . (Beim Kompilieren keine Fehler.. sollte Ingame gehen)

    #include <a_samp>
    #include <dini>


    //========================================
    #define DIALOG_REGISTER 1
    #define DIALOG_LOGIN 2
    //========================================
    #define ROT 0xFF1400FF
    #define GRUEN 0x91FF00FF
    #define GELB 0xFFFF00FF
    #define BLAU 0x000FFFFF
    #define WEIß 0xFEFEFEFF
    #define ORANGE 0xFF8200FF
    //========================================


    main()
    {
    print("\n----------------------------------");
    print(" Blank Gamemode by your name here");
    print("----------------------------------\n");
    }


    public OnGameModeInit()
    {
    SetGameModeText("German-Reallife |Beta v1.0");
    AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
    return 1;
    }


    public OnGameModeExit()
    {
    return 1;
    }


    public OnPlayerRequestClass(playerid, classid)
    {
    SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
    SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
    SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
    return 1;
    }


    public OnPlayerConnect(playerid)
    {
    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrieren","Gib dein Passwort für dein Account ein:","Register","Abbrechen");
    return 1;
    }


    public OnPlayerDisconnect(playerid, reason)
    {
    return 1;
    }


    public OnPlayerSpawn(playerid)
    {
    return 1;
    }


    public OnPlayerDeath(playerid, killerid, reason)
    {
    return 1;
    }


    public OnVehicleSpawn(vehicleid)
    {
    return 1;
    }


    public OnVehicleDeath(vehicleid, killerid)
    {
    return 1;
    }


    public OnPlayerText(playerid, text[])
    {
    return 1;
    }


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if (strcmp("/mycommand", cmdtext, true, 10) == 0)
    {
    // Do something here
    return 1;
    }
    return 0;
    }


    public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
    {
    return 1;
    }


    public OnPlayerExitVehicle(playerid, vehicleid)
    {
    return 1;
    }


    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    return 1;
    }


    public OnPlayerEnterCheckpoint(playerid)
    {
    return 1;
    }


    public OnPlayerLeaveCheckpoint(playerid)
    {
    return 1;
    }


    public OnPlayerEnterRaceCheckpoint(playerid)
    {
    return 1;
    }


    public OnPlayerLeaveRaceCheckpoint(playerid)
    {
    return 1;
    }


    public OnRconCommand(cmd[])
    {
    return 1;
    }


    public OnPlayerRequestSpawn(playerid)
    {
    return 1;
    }


    public OnObjectMoved(objectid)
    {
    return 1;
    }


    public OnPlayerObjectMoved(playerid, objectid)
    {
    return 1;
    }


    public OnPlayerPickUpPickup(playerid, pickupid)
    {
    return 1;
    }


    public OnVehicleMod(playerid, vehicleid, componentid)
    {
    return 1;
    }


    public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
    {
    return 1;
    }


    public OnVehicleRespray(playerid, vehicleid, color1, color2)
    {
    return 1;
    }


    public OnPlayerSelectedMenuRow(playerid, row)
    {
    return 1;
    }


    public OnPlayerExitedMenu(playerid)
    {
    return 1;
    }


    public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
    {
    return 1;
    }


    public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
    {
    return 1;
    }


    public OnRconLoginAttempt(ip[], password[], success)
    {
    return 1;
    }


    public OnPlayerUpdate(playerid)
    {
    return 1;
    }


    public OnPlayerStreamIn(playerid, forplayerid)
    {
    return 1;
    }


    public OnPlayerStreamOut(playerid, forplayerid)
    {
    return 1;
    }


    public OnVehicleStreamIn(vehicleid, forplayerid)
    {
    return 1;
    }


    public OnVehicleStreamOut(vehicleid, forplayerid)
    {
    return 1;
    }


    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    if(dialogid==DIALOG_REGISTER)
    {
    if(response==0)
    {
    SendClientMessage(playerid,ROT,"Du hast den Vorgang Abgebrochen.Audio_CreateTCPServer.");
    Kick(playerid);
    return 1 ;
    }
    }

    if(response==1)
    {
    if(!strlen(inputtext))
    {
    SendClientMessage(playerid,BLAU,"Das passwort war nicht lang genug");
    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrieren","Gib dein Passwort für dein Account ein:","Register","Abbrechen");
    return 1;
    }
    else
    {
    new Spielerdatei[128];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format (Spielerdatei,sizeof(Spielerdatei),"/user/%s.txt",name);
    dini_Create(Spielerdatei);
    dini_Set(Spielerdatei,"Passwort",inputtext);
    SendClientMessage(playerid,GRUEN,"Erfolgreich registriert.");
    return 1;
    }
    }
    return 1;
    }


    public OnPlayerClickPlayer(playerid, clickedplayerid, source)
    {
    return 1;
    }


    Gruß,
    Airsnake


    //Edit: Habs Ingame getestet: Zuerst ging es nicht, jetzt aber :D . Du hattest dini_set statt dini_Set... das war der Fehler. Viel Spaß beim Scripten ^^

    Eightball / Ask The Ball / Whatever :D

    Gibt verschiedene Antworten zurück, ähnlich wie /flipcoin :) .
    Irgendwo im Script:

    AskTheBall(playerid)
    {
    if(random(500) < 25) return SendClientMessage(playerid, COLOR_YELLOW, "Signs point to yes.");
    else if(random(500) >= 25 && random(500) < 50) return SendClientMessage(playerid, COLOR_YELLOW, "Yes.");
    else if(random(500) >= 50 && random(500) < 75) return SendClientMessage(playerid, COLOR_YELLOW, "Reply hazy, try again.");
    else if(random(500) >= 75 && random(500) < 100) return SendClientMessage(playerid, COLOR_YELLOW, "Without a doubt.");
    else if(random(500) >= 100 && random(500) < 125) return SendClientMessage(playerid, COLOR_YELLOW, "My sources say no.");
    else if(random(500) >= 125 && random(500) < 150) return SendClientMessage(playerid, COLOR_YELLOW, "As I see it, yes.");
    else if(random(500) >= 150 && random(500) < 175) return SendClientMessage(playerid, COLOR_YELLOW, "You may rely on it.");
    else if(random(500) >= 175 && random(500) < 200) return SendClientMessage(playerid, COLOR_YELLOW, "Concentrate and ask again.");
    else if(random(500) >= 200 && random(500) < 225) return SendClientMessage(playerid, COLOR_YELLOW, "Outlook not so good.");
    else if(random(500) >= 225 && random(500) < 250) return SendClientMessage(playerid, COLOR_YELLOW, "It is decidedly so.");
    else if(random(500) >= 250 && random(500) < 275) return SendClientMessage(playerid, COLOR_YELLOW, "Better not tell you now.");
    else if(random(500) >= 275 && random(500) < 300) return SendClientMessage(playerid, COLOR_YELLOW, "Very doubtful.");
    else if(random(500) >= 300 && random(500) < 325) return SendClientMessage(playerid, COLOR_YELLOW, "Yes - definitely.");
    else if(random(500) >= 325 && random(500) < 350) return SendClientMessage(playerid, COLOR_YELLOW, "It is certain.");
    else if(random(500) >= 350 && random(500) < 375) return SendClientMessage(playerid, COLOR_YELLOW, "Cannot predict now.");
    else if(random(500) >= 375 && random(500) < 400) return SendClientMessage(playerid, COLOR_YELLOW, "Most likely.");
    else if(random(500) >= 400 && random(500) < 425) return SendClientMessage(playerid, COLOR_YELLOW, "Ask again later.");
    else if(random(500) >= 425 && random(500) < 450) return SendClientMessage(playerid, COLOR_YELLOW, "My reply is no.");
    else if(random(500) >= 450 && random(500) < 475) return SendClientMessage(playerid, COLOR_YELLOW, "Outlook good.");
    else if(random(500) >= 475 && random(500) < 500) return SendClientMessage(playerid, COLOR_YELLOW, "Don't count on it.");
    return 1;
    }


    Unter OnPlayerCommandText:

    if (strcmp(cmdtext, "/asktheball", true)==0)
    {
    AskTheBall(playerid);
    }


    Gruß,
    Airsnake

    Selbstmord-Attentat Snippet


    Gut für DM Server, sry falls das schon jemand das (oder ähnliches) zuvor gepostet hat.
    Kann man auch per Tastenbefehl einbauen, aber ich zeige hier, wie man es per Befehl macht.



    if(strcmp("/selbstmordbombe", cmdtext, true, 5) == 0 || strcmp("/sb",cmdtext, true, 5) == 0)
    {
    new Float:x, Float:y, Float:z;
    GetPlayerPos(playerid, x, y, z);
    CreateExplosion(x+random(2), y+random(2), z+random(2), 2, 10.0);
    SetPlayerHealth(playerid, 0.0);
    return 1;
    }
    }


    Ich hoffe irgendjemand könnte so etwas gebrauchen. ^^
    Gruß,
    Airsnake

    Moin,


    ich bin beim scripten noch recht neu aber kenne mich eigentlich schon ganz gut aus und habe deswegen mal mit einem Freund einen Gamemode angefangen :D .
    Es ist ein DM Gamemode und ich möchte, dass der Killer 10.000$ erhält und der getötete Spieler 2.500$ zahlen muss, also habe ich:

    public OnPlayerDeath(playerid, killerid, reason)
    {
    GameTextForPlayer(playerid,"~r~Killed in Action.",3000,1);
    ResetPlayerWeapons(playerid);
    SetPlayerScore(killerid, GetPlayerScore(killerid) + 2);
    SetPlayerScore(playerid, GetPlayerScore(playerid) - 1);
    GivePlayerMoney(killerid, GetPlayerMoney(killerid) + 10000);
    GivePlayerMoney(playerid, GetPlayerMoney(playerid) - 2500);
    SendDeathMessage(killerid, playerid, reason);
    return 1;
    }

    eingebaut.
    Das funktioniert super, nur wenn ein Spieler Selbstmord begeht ist er ja in dem Fall der Killer und erhält 10.000$ - 2.500$ = 7.500$ pro Selbstmord ^^ .
    Könnt ihr mir vielleicht helfen, dass dies nicht mehr der Fall ist?
    Wäre nett :) .


    Gruß,
    Airsnake


    //Edit: Sry, hatte beim PWN Text was falsch, korrigiert ;) .