Beiträge von Tillmann-ger

    Was sollen immer diese unnötigen Diskussionen? Kehrt doch mal lieber zum Thema zurück und wenn ihr die vom Vorposter genannte Funktion nicht optimal findet, dann verbessert ihn halt. ^^


    b2T:


    Also ich habe es bisher immer so gemacht:
    Ich habe bei OnPlayerStateChange geprüft ob jemand in ein Fraktionsfahrzeug einsteigt und ihn einfach rausgeschmissen, wenn er nicht in der jeweiligen Fraktion ist.
    Also ungefähr so sollte es aussehen (es geht noch einfacher, aber egal ...):



    // Oben
    new Polizei[5];


    // OnGameModeInit
    Polizei[0] = AddStaticVehicleEx ...
    Polizei[1] = AddStaticVehicleEx ...


    // Callback
    public Polizeiwagen(vid)
    {
    for(new i = 0; i < sizeof(Polizei); i++)
    {
    if(vid == Polizei[i])
    {
    return 1;
    }
    }
    return 0;
    }


    // OnPlayerStateChange


    if(newstate == PLAYER_STATE_DRIVER)
    {
    new getid = GetPlayerVehicleID(playerid);
    if(Polizeiwagen(getid))
    {
    if(Abfrage ob Spieler in Fraktion ist)
    {
    SendClientMessage(playerid,FARBE,"* Dies ist ein Fraktionsfahrzeug.");
    }
    else
    {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid,FARBE, "* Du bist kein Polizist!");
    }
    }
    }


    Natürlich kann man auch eine for-Schleife benutzen, was durchaus einfacher wäre, aber so funktioniert es auch perfekt.


    // Edit: Und denk dran: Da die Fahrzeuge bei 0 beginnen, wird es keine 5 geben, aber der Wert muss immer 1 höher sein. ^^

    Hallo,
    ich wollte jetzt mal scripten, dass man das Fahrzeug mit einer bestimmten Taste reparieren kann (Gehen-Taste, ALT).
    Leider wird das Fahrzeug nicht repariert. In dem /fix Befehl funktionierte es allerdings mit den selben Funktionen perfekt.


    if(newkeys==KEY_WALK && MiniGame[playerid]==NO_MINIGAME)
    {
    if(GetPlayerState(playerid)==PLAYER_STATE_DRIVER)
    {
    new gvar;
    gvar=GetPlayerVehicleID(playerid);
    RepairVehicle(gvar);
    }
    }


    Vielleicht ist es auch nur ein simpler Fehler, den ich übersehen habe ...

    Hallo,
    als ich letztens mal wieder GTA: San Andreas (Singleplayer) gespielt habe, ist mir aufgefallen, dass man ziemlich am Anfang eine 9mm-Pistole bei Emmet holen muss.
    Aber in SA:MP fehlt der Skin dieser Figur, gibt es ihn vielleicht doch? Vielleicht sind die IDs der "versteckten Skins" ja nur viel höher? Habt ihr 'ne Ahnung, ob es vielleicht doch noch mehr Skins gibt?


    //edit


    Soeben ist mir noch etwas aufgefallen ...
    Im offiziellen SA:MP Wiki fehlen die Skins 3-6 ...
    http://wiki.sa-mp.com/wiki/Skins:All

    Also ich habe zwei Errors und mache es mal kurz:


    Code:


    public SetHost_Name()
    {
    new string[128];
    format(string, sizeof(string), "hostname %s", Host_Names[SetHost_Name]);
    SendRconCommand(string);
    Count_Host_Name ++;
    if(Count_Host_Name >= MAX_HOSTNAMES){SetHost_Name = 0;}
    return true;
    }


    Errors:


    Code
    C:\Documents and Settings\...\Desktop\Restliche Datein\jmfile.pwn(8197) : error 076: syntax error in the expression, or invalid function call
    C:\Documents and Settings\...\Desktop\Restliche Datein\jmfile.pwn(8200) : error 076: syntax error in the expression, or invalid function call
    C:\Documents and Settings\...\Desktop\Restliche Datein\jmfile.pwn(8200) : warning 215: expression has no effect
    Pawn compiler 3.2.3664	 	 	Copyright (c) 1997-2006, ITB CompuPhase
    
    
    
    
    2 Errors.

    Echt nettes Script für den Anfang.
    Ich bin sicher, dass dieses Script einige Anfänger sehr gut gebrauchen können.


    -----------------------------------------------------------------
    Bewertung - [Filterscript] Rcon Admin FS
    -----------------------------------------------------------------


    Punktezahl:
    94%
    /100%


    Pro:
    - Script ist hilfreich für Anfänger.
    - Script enthält alle wichtigen Funktionen.


    Kontra:
    - Script könnte noch besser werden, aber nichts ist perfekt...

    Hallo,
    heute gab es einige Script Updates. Ich habe in das Gangsystem einen Befehl zum Gangskin wechseln, ein new mit Randomskins und Funktionen, die den Skin laden hinzugefügt.
    Aber plötzlich kamen völlig unabhängige Errors davon ... undzwar einige von den Includes, die bisher immer funktionierten und ein paar in völlig korrekten Funktionen.


    Hallo,
    ich habe eine Variable, die alle Fahrzeugnamen in der richtigen Reihenfolge enthält.


    Jetzt wollte ich so meinen Carspawner machen:


    if(!strcmp("/carspawner",cmd,true))
    {
    new str[1024];
    for(new i=0;i<sizeof(VehicleInfo);i++)
    format(str,sizeof(str),"%s%s\n",str,VehicleInfo[i]);


    if(GetPlayerLanguage(playerid)==LANG_DE)
    ShowPlayerDialog(playerid,DIALOG_CARSPAWNER,DIALOG_STYLE_LIST,"Fahrzeuge:",str,"Waehlen","Schliessen");
    else
    ShowPlayerDialog(playerid,DIALOG_CARSPAWNER,DIALOG_STYLE_LIST,"Vehicles:",str,"Choose","Close");
    return 1;
    }


    case DIALOG_CARSPAWNER:
    {
    if(response)
    {
    new Float:X7,Float:Y7,Float:Z7;
    GetPlayerPos(playerid,X7,Y7,Z7);
    CreateVehicle(listitem, X7+5, Y7, Z7, 0.0, -1, -1, 60000);
    }
    }


    Ist alles definiert usw., es kommen keine Errors. Die Namen werden in der Liste angezeigt, aber es wird kein Fahrzeug gespawnt. Bei den Teleport Befehlen ging es, aber da wurd einfach nur OnPlayerCommandText mit dem jeweiligen ListItem-Text ausgeführt.

    Hallo,
    ich habe mir mal einen Skinchanger gescriptet.


    if(!strcmp("/skin",cmd,true))
    {
    if(!cmdtext[idx])
    return SendLanguageMessage(playerid,COLOR_RED,"Anwendung: /SKIN <ID>","Usage: /SKIN <ID>");

    #define AMOUNT 7500
    if(GetPlayerMoney(playerid)>=AMOUNT)
    {
    PlayerInfo[playerid][PED_SKIN]=cmdtext[idx];
    SetPlayerSkin(playerid,cmdtext[idx]);
    PlayerPlaySound(playerid,1058,0,0,0);
    GivePlayerMoneyEx(playerid,-AMOUNT);
    TextBoxForPlayerEx(playerid,"Skin gewechelt!","Skin changed!",3);
    }
    else
    TextBoxPriceWarning(playerid,AMOUNT);
    #undef AMOUNT
    return 1;
    }


    Leider wird immer irgendein Skin gesetzt. Wenn ich die Skin ID 271 (Ryder) angebe, wird Skin 50 gesetzt.
    Aber es ist alles definiert usw.

    Die gf.pwn muss mit einem Pawn-Scripting Programm kompiliert werden zu einer gf.amx. Die gf.pwn wird nur zum editieren des Scripts benötigt.
    Außerdem brauchst du die Standard Godfather Includes.

    Na ja, den Ausdruck "Fahrzeuge speichern" finde ich etwas unpassend. "Fahrzeuge spawnen" würde schon eher passen. Die Fahrzeuge werden ja nicht richtig gespeichert. Sie werden nur beim laden des Gamemodes gespawnt.



    --------------------------------------------------------------------------
    Bewertung - [Tutorial] Wie speichere ich Fahrzeuge im Script ?
    --------------------------------------------------------------------------


    Punktezahl:
    94%
    /100%


    Pro:
    - Alles wird genau erklärt.
    - Gute Rechtschreibung.
    - Screenshots vorhanden.
    - Tutorial ist hilfreich für Scripting Anfänger.


    Kontra:
    - Kein besonderes Tutorial (die meisten Scripter können bereits Fahrzeuge spawnen).