Beiträge von pierre65


    public OnGameModeInit() {
    ManualVehicleEngineAndLights();
    return 1;
    }
    public OnVehicleDamageStatusUpdate(vehicleid, playerid)
    {
    new Float:health;
    GetVehicleHealth(vehicleid, health);
    if ( (floatround(health, floatround_round)/10) <= 35 ) {
    GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(vehicleid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
    GameTextForPlayer(playerid, "~r~Dein Auto hat ein Totalschaden.", 3, 1);
    }
    return 1;
    }

    Have Fun ;)


    // Edit: Kleinen Fail gehabt...

    .... Ich habs ;)
    Definier die Farbe als Integer also mach einfach [512] weg....
    Ich habe die Farben doch als Integer generiert:

    new fraction[][fracs] = {
    {0, 0x05FF0099, "Grove Street"},
    {1, 0x90006C99, "Ballas"},
    {2, 0x78787899, "Russische Mafia"},
    {3, 0xFFDC0099, "Vagos"}
    };

    0 = 1, 1 = 2.... Daher hast du 9 Zonen, stimmt schon^^ Pawn und viele andere Skriptsprachen fangen bei 0 an ;)
    Hm.... dann versteh ich nicht wieso es nicht geht....
    Mach mal:

    public OnPlayerDeath(playerid, killerid, reason) {
    if ( playerid >= 0 && playerid <= MAX_PLAYERS ) {
    for(new i; i < sizeof(gangzonepos);i++)
    {
    GangZoneHideForPlayer(playerid, Gangzone[i]);
    }
    }
    }
    return 1;
    }

    Und bei OnPlayerSpawn machst du mal das Hide raus und dann probierst du es nochmal



    // Edit: Das ist klar sobald du eine Variable mit einem bestimmten size Wert (z.b. Bla[255]) erstellst hat es automatisch den größen Wert den du gesetzt hast in deinem Fall 9 ;)

    Hey Community,


    ich habe das Problem das irgendwie das falsche PickUp gelöscht wird?!
    Bei OnGameModeInit steht folgendes:
    healthP[0] = CreatePickup(1240, 1,1529.6887,-1662.2336,6.2188);
    ruestung[0] = CreatePickup(1242, 1,1529.8782,-1665.2672,6.2188);

    Sollte nun ein Spieler sterben wird folgendes Pickup erstellt:
    pInfo[playerid][pDeathPickup] = CreatePickup(1254,0,pInfo[playerid][pDeathX],pInfo[playerid][pDeathY],pInfo[playerid][pDeathZ],0);
    (X,Y,Z Koordinaten funktionieren wunderbar.....)
    Sollte nun ein Spieler sterben und wiederbelebt werden, wird das richtige PickUp gelöscht, sterben mehr oder 2 Spieler gleichzeitig, dann wird das falsche PickUp wieder gelöscht und das andere PickUp verschwindet garnicht?!?
    Der Destroy Befehl für die PickUps löschen beim respawnen eines Spielers ist:
    DestroyPickup(pInfo[playerid][pDeathPickup]);
    Woran genau kann das liegen dass das falsche PickUp gelöscht wird?!
    Danke schonmal für Hilfe.



    Mit freundlichen Grüßen derpierre65

    Vielleicht hilft dir das Beispiel?

    format(query,500,"SELECT * FROM `warnings` WHERE `name` = '%s';", playerName(fromPlayer));
    mysql_query(query);
    mysql_store_result();
    new string[255];
    while ( mysql_retrieve_row() ) {
    mysql_get_field("warnID", data); // warnID ist hier der Spaltenname
    format(string,sizeof string, "%sID: %d\t", strval(data), string);
    mysql_get_field("warnReason", data); // warnReason ist hier der Spaltenname
    format(string,sizeof string, "%sGrund: %d\t", string, strval(data));
    mysql_get_field("warnBy", data); // warnBy ist hier der Spaltenname
    format(string,sizeof string, "%sGewarnt von: %s\t", string, data);
    //...... das führst du so weiter
    // Beim letzten Spaltennamen am ende \n nicht vergessen... Beim letzten statt \t \n nutzen.
    }
    mysql_free_result();
    ShowPlayerDialog(playerid,DIALOGID,DIALOG_STYLE_MSGBOX,"Userakte",string,"", "Okay");


    Vielleicht kannst du damit ja was anfangen.


    // Edit: Hatte noch was vergessen...

    Hey liebe Community,


    ich habe einen kleinen SAMP Homeserver auf meinem PC installiert, damit ich und Freunde u.a. testen und spielen können.
    Allerdings habe ich nun ein Problem.
    Der Port 7777 ist freigegeben, bei allen steht auch das ein Servermode gefunden wurde, sobald man nun connected sagt das Spiel der Server ist Offline?
    Aber man sieht doch den Server in der Liste, auch die connectete Spieleranzahl, den Gamemode und der Mapname....
    Früher hat es funktioniert, aber seit einer weile geht es nicht mehr... Woran kann das liegen? Die Firewall blockt das auch nicht!?
    Danke schonmal im vorraus.



    Mfg pierre65

    Existiert der Ordner "Accounts"?
    Erstellt er irgendwo die Datei falls sie nicht existiert?
    Und war der Score (in der Tabliste) von dir wirklich auf 30?
    Speicher das Level lieber in einer Variable z.b. playerInfo[playerid][plevel] = 30; und lies die dann aus, ist glaub ich besser & sicherer. (müsstest du dann mit einem enum erstellen)



    Kann man irgendwie den aktuellen timestamp auslesen? (Vergangene Zeit in Sekunden seit 01.01.1970 (glaub ich wenn das so war...))

    @Blood
    Das kommt drauf an in welche Richtung er schaut und damit musst du dann arbeiten, würde ich jetzt vermuten.
    Y: Desto höher desto weiter im Norden, esto niedriger desto weiter im Süden
    X: Desto höher desto weiter im Osten, desto niedriger (X) desto weiter im Westen


    Wenn du nun überprüft in welche Richtung er schaut (vermute mal 0.0 ist dann Norden, 90° Osten, 180° Süden, 270° Westen) und je nachdem rechnest du die Koordinate hoch und setzt auch von dem Spieler die Richtung in der er schaut. ^^
    Beispiel: Er schaut nach Norden, dann setzt du die Y Koordinate weiter runter, damit er hinter dem Spieler steht und in die Richtung in der er schaut die gleiche.
    Es ist nur eine Vermutung dass es so funktioniert, das mit dem Koordinaten ob (Y höher -> weiter im Norden...) stimmt auf jeden Fall.
    Richtung in der er schaut kriegst du mit SetPlayerFacingAngle/GetPlayerFacingAngle raus. ;)



    Jetzt habe ich auch ein Problem. ^^
    Ich würde gerne mal wissen ob man ein kompletten Array leer kriegt?
    z.B.:
    enum player {
    id,
    name,
    geld,
    ....
    }
    new playerInfo[MAX_PLAYERS][player];
    Nun möchte ich dass wenn ein Spieler connected der komplette playerInfo[playerid] Array leer wird. Geht das oder muss man jede einzelne Variable auf 0 setzen? :/

    Folgendes kann falsch sein:
    - MySql Server ist nicht an/existiert nicht.
    - User "samp" existiert nicht.
    - Falsches Passwort für den User "samp".
    - Keine Verbindungsrechte auf "samp", dass kann weniger sein da es localhost ist.
    Überprüf nochmal ob der User existiert und ob er wirklich kein Passwort hat, ist eigentlich schon ziemlich dumm kein Passwort für
    einen MySql Zugang zu benutzen, vor allem weil da jeder rauf kommt (auch wenns nur lokal ist, außer er ist nur für localhost freigegeben).
    Mehr Fehler gibts auch eigentlich garnicht beim connecten zu MySql?!

    Ah genau....
    Das hab ich schon gelesen daran hab ich garnicht gedacht.....
    Ich weiß halt dass durch "OnVehicleRespray" nur abgefragt wird ob man die Autofarbe ändert, indem Fall von einem ModShop.
    Also wäre ja mein Problem gelöst und dass wäre nicht sehr Ressourcen aufwändig richtig?


    // Edit: OnVehicleDamageStatusUpdate wird nicht schnell genug aufgerufen... @[BFX]∑xþ└øšîøµ

    Ich hab beides probiert einmal erst "name" und dann data weil das in jedem Thread unterschiedlich war....
    Aber nichts wirklich nichts funktioniert. -_-


    // Edit: Ich überlege ob ich deswegen auf SQLite umsteige :S
    // Edit 2: Komisch..... jetzt funktioniert alles, ich hab am Code einfach mal nichts geändert und es geht? ?( ?( (Pawn Logik?!?)

    Hey Community,


    ich suche jetzt schon 2 Stunden nach einer Lösung um ein ganzen Eintrag einer Tabelle auszulesen...
    Es sollte ja eigentlich mit folgendem Code funktionieren:

    format(query,256,"SELECT * FROM `accounts` WHERE `name` = 'Beispielname';");
    mysql_query(query);
    mysql_store_result();
    if(mysql_num_rows() > 0 ) {
    mysql_fetch_field_row("name",data);
    // variable speichern..
    mysql_fetch_field_row("password",data);
    // variable speichern..
    // ..................
    }

    Das kompilieren des Scripts funktioniert auch wunderbar, auch die Ausführung, allerdings gibt er mir kein Rückgabewert,
    indemfall ist die Variable "data" immer leer...
    MySql gibt auch keine richtigen Errors raus, er sagt mir nur das dass Feld oder die Reihe leer ist? :S



    Woran kann das Problem liegen, dass er die Sachen nicht ausliest?
    Anders MySql Plugin verwenden? Wenn ja, welches? ?(
    Danke im Vorraus.



    Mit freundlichen Grüßen pierre65

    Hi Community,


    ich wollte mal Fragen was man benötigt (ob ein Streamer oder ob es mit den Standard Commands geht) damit man Objekte respawnen lassen kann,
    wenn sie zerstört sind, soweit ich weiß geht das mit CreateObjectEx oder so...... :S
    Nachdem das Objekt derzeit bei mir einmal zerstört ist, erscheint es nie wieder, erst nachdem Serverrestart und dass ist ein wenig blöd.
    Danke für Hilfe.


    Mfg pierre65

    Ersetz "dini_Get" durch dini_Int (du liest ja ein Integer aus)...
    Und installier dir das Plugin "crashdetect", damit siehst du weshalb der Server "crasht".
    Dadurch wird dir auch ein genauer Fehler angezeigt wie z.B.:

    [19:15:16] [debug] Run time error 4: "Array index out of bounds"
    [19:15:16] [debug] Accessing element at index 65535 past array upper bound 499
    [19:15:16] [debug] AMX backtrace:
    [19:15:16] [debug] #0 0000a844 in public OnPlayerDeath () from rl_script.amx

    Wodurch du ein ungefähren Error hinaus kriegst. ^^
    Das Problem dass du bestimmt hast ist, dass man mitten auf der Map spawnt und am Anfang durchfällt
    und keine Scripts/Befehle usw. funktionieren?