Tutorials by WarF

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • ~Pawno Anfänger Tutorial~

    1. Waffenbefehle hinzufügen

    Zuerst öffnet ihr natürlich einen neuen Pawno Gamemode, wo nichts drinnen steht!
    Anschließend geht ihr zu public OnPlayerCommandText!
    Und so würde ein Waffenbefehl aussehen:


    if(!strcmp(cmdtext,"/deagle",true)) // Hier wird der Befehl eingegeben, den man später Ingame ausführen kann!
    {
    SendClientMessage(playerid, COLOR_GREEN, "Du hast dir eine Deagle gekauft!"); // Hier kommt die Nachricht wenn man diesen Befehl ausführt!
    GivePlayerWeapon(playerid,24,125); // In dieser Zeile geben wir dem Spieler die WAFFE ID 24 mit 125 Schuss!
    GivePlayerMoney(playerid,-2000); // Hier werden 2000$ vom Spieler abgezogen!
    return 1;
    }




    2. Teams / Gang erstellen!
    Info: Hier werden wir nun Teams erstellen und deren Befehle!


    Zuersteinmal fangen wir mit dem Team an:
    Dafür geht ihr ganz oben in euer Script und gebt folgendes ein:


    #define TEAM_ZIVILIST 0 // Hier definieren wir das 1.Team mit der ID 0 die ID spielt eigentlich keine wichtige Rolle..  


    Anschließend gehen wir zu public OnPlayerSpawn(playerid);


    if(gTeam[playerid] == TEAM_ZIVILIST) // Hier wird Abgefragt ob er in der Gang ist: Team_Zivilist
    {
    SetPlayerColor(playerid,COLOR_GREEN); // Falls Ja, wird er Grün auf der TAB Liste markiert
    }
    return 1;


    Das fügt ihr dann irgendwo im Gamemode ein:

    SetPlayerClass(playerid, classid) // Setzt die Klasse
    {
    if(classid == 0) // Frägt ab, wenn er Class 0 ist
    {
    gTeam[playerid] = TEAM_ZIVILIST; // ist er ZIVILIST
    }



    Nun sind wir mit der Gang fertig!
    Jetzt können wir z.B bei OnPlayerCommandText einen Befehl nur für diese Gang definieren:


    if(gTeam[playerid] == TEAM_ZIVILIST) // Frägt die Gang ab
    if(strcmp("/gotozivi", cmdtext, true) == 0) // Wenn man den Befehl eingibt
    {
    SetPlayerPos(playerid, -2504.5046,-300.9041,15.1262); // Wird man hierhin geportet
    SendClientMessage(playerid, COLOR_RED, "Wilkommen am Zivispawn."); // und erhält diese Nachricht!
    return 1;




    Das war es erstmal
    Weiteres werde ich herein editieren!


    Was geht Simon :D

    Einmal editiert, zuletzt von WarF ()

  • ganz in Ordnung aber ich mag gTeam nicht , ist meiner meinung nach für DM Server gut o.o aber wenn man einen RL Server aufmacht sollte man lieber (meiner meinung nach) mit variablen arbeiten


    6/10 Punkte , weil ist ja nicht wirklich schwer sowas zu machen ,ABER dennoch gut für anfänger ^^


    MfG SuperQueckSilber

    Arbeite an meinem eigenen Projekt :)


    Pure RealLife [PRL]


    Release:2011
    Erster Buchstabe im Script aufgetreten:26.7.2011



  • Ich finde, dass es kein gutes Tutorial ist.
    Sind einige verbesserungswürdige Dinge drin.
    Außerdem sind die Farben nicht unbedingt definiert, ist jetzt aber unwichtig :P.
    Erste Verbesserung :
    if(!strcmp(cmdtext,"/deagle",true)) // Hier wird der Befehl eingegeben, den man später Ingame ausführen kann!
    {
    SendClientMessage(playerid, COLOR_GREEN, "Du hast dir eine Deagle gekauft!"); // Hier kommt die Nachricht wenn man diesen Befehl ausführt!
    GivePlayerWeapon(playerid,24,125); // In dieser Zeile geben wir dem Spieler die WAFFE ID 24 mit 125 Schuss!
    GivePlayerMoney(playerid,-2000); // Hier werden 2000$ vom Spieler abgezogen!
    return 1;
    }
    So kann man die Waffe auch kaufen, wenn man nicht genug Geld hat; ist nicht zu empfehlen.
    Besser wäre :
    if(!strcmp(cmdtext,"/deagle",true)) // Hier wird der Befehl eingegeben, den man später Ingame ausführen kann!
    {
    new CurrentCash = GetPlayerMoney(playerid); //CurrentCash fragt jetzt ab, wie viel Bargeld der Spieler hat.
    if(CurrentCash >= 2000) //Wenn er weniger Geld hat als 2000$...
    {
    SendClientMessage(playerid, COLOR_GREEN, "Du hast dir eine Deagle gekauft!"); // Hier kommt die Nachricht wenn man diesen Befehl ausführt!
    GivePlayerWeapon(playerid,24,125); // In dieser Zeile geben wir dem Spieler die WAFFE ID 24 mit 125 Schuss!
    GivePlayerMoney(playerid,-2000); // Hier werden 2000$ vom Spieler abgezogen!
    }
    else
    {
    SendClientMessage(playerid, COLOR_RED, "Du hast zu wenig Geld!"); //Die Nachricht, die erscheint, wenn man nicht genug Geld bei sich hat.
    }
    return 1;
    }
    Alles erklärt.


    Zweite Verbesserung :
    if(gTeam[playerid] == TEAM_ZIVILIST) // Frägt die Gang ab
    if(strcmp("/gotozivi", cmdtext, true) == 0) // Wenn man den Befehl eingibt
    {
    SetPlayerPos(playerid, -2504.5046,-300.9041,15.1262); // Wird man hierhin geportet
    SendClientMessage(playerid, COLOR_RED, "Wilkommen am Zivispawn."); // und erhält diese Nachricht!
    return 1;
    }
    Ich bin nicht sicher, aber ich glaube, das funktioniert so gar nicht, oder ?
    Ich würd's anders aufbauen, alleine, damit ich eine Nachricht verschicken kann, wenn der Spieler kein Zivilist ist :
    if(strcmp("/gotozivi", cmdtext, true) == 0) // Wenn man den Befehl eingibt
    {
    if(gTeam[playerid] == TEAM_ZIVILIST) // Frägt die Gang ab
    {
    SetPlayerPos(playerid, -2504.5046,-300.9041,15.1262); // Wird man hierhin geportet
    SendClientMessage(playerid, COLOR_RED, "Wilkommen am Zivispawn."); // und erhält diese Nachricht!
    }
    else
    {
    SendClientMessage(playerid, COLOR_RED, "Du bist kein Zivilist."); //Nachricht, die man erhält, wenn man kein Zivilist ist.
    }
    return 1;
    }


    Von mir nur 3/10 für die Tutorials.