[SAMMELTHREAD] Kleine Scripting Fragen

Dein Problem konnte durch einen User gelöst werden? Bedank dich bei ihm indem du seinen Beitrag als Hilfreich markierst sowie einen Daumen oben dalässt
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
  • kann mir hierbei wer helfen?


    Ich habe eine Funktion:
    sInfo[playerid][ges]



    und muss sie definieren:

    Code
    C:\Users\NeroxRoleplay\Nerox_Roleplay_v1.5.4\NeR.pwn(9729) : error 017: undefined symbol "sInfo"



    Allerdings habe ich das doch getan oder?
    PlayerInfo[playerid][pSex] = sInfo[playerid][ges];

  • Jeffry:


    Klappt gut, aber ist das so gut formatiert?
    Edit: Wird die Nachicht an alle Spieler gesendet?




    CMD:enextround(playerid,params[])
    {
    SendClientMessage(playerid,0xFF0055FF,"Rooms unlocked, next round will start soon!");
    static bool:status;
    if(!status)
    {
    for(new i=0; i<sizeof(gObj); i++)
    {
    if(gObj[i] != -1) DestroyObject(gObj[i]);
    gObj[i] = -1;
    }
    }
    status = !status;
    return 1;
    }


    Mit freundlichen Grüßen
    JustMe.77 8)

  • CMD:enextround(playerid,params[])
    {
    SendClientMessage(playerid,0xFF0055FF,"Rooms unlocked, next round will start soon!");
    static bool:status;
    if(!status)
    {
    for(new i=0; i<sizeof(gObj); i++)
    {
    if(gObj[i] != -1) DestroyObject(gObj[i]);
    gObj[i] = -1;
    }
    }
    status = !status;
    return 1;
    }


    So wäre die Einrückung korrekt.
    Zwecks der Nachricht, die wird nur an den Spieler gesendet, der den Befehl eingibt. Falls du es an alle senden willst, nutze SendClientMessageToAll.

  • Jeffry:


    Ich hab das jetzt in ein FS Gebaut...




    skinshop.pwn(393) : error 017: undefined symbol "skin" //SetPlayerSkin(playerid,sInfo[playerid][skin]);
    skinshop.pwn(446) : error 017: undefined symbol "skin" //SetPlayerSkin(playerid,sInfo[playerid][skin]);
    skinshop.pwn(536) : error 017: undefined symbol "bizInfo" //if(GetPlayerMoney(playerid)<=bizInfo[4][skinpreis])
    skinshop.pwn(536) : warning 215: expression has no effect //if(GetPlayerMoney(playerid)<=bizInfo[4][skinpreis])
    skinshop.pwn(536) : error 001: expected token: ";", but found "]" //if(GetPlayerMoney(playerid)<=bizInfo[4][skinpreis])
    skinshop.pwn(536) : error 029: invalid expression, assumed zero //if(GetPlayerMoney(playerid)<=bizInfo[4][skinpreis])
    skinshop.pwn(536) : fatal error 107: too many error messages on one line


    Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    6 Errors.


    :´(

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Hallo, will gerade machen dass man hinter dem Wagen stehen muss:
    new Float:Pos[7];
    GetVehiclePos(vID,Pos[0],Pos[1],Pos[2]);
    GetVehicleZAngle(vID,Pos[3]);
    GetPlayerPos(playerid,Pos[4],Pos[5],Pos[6]);
    Pos[6] = ((Pos[4] - Pos[0])*floatcos(Pos[3],degrees)+(Pos[5] - Pos[1])*floatsin(Pos[3],degrees));
    Pos[3] = ((-(Pos[4] - Pos[0]))*floatsin(Pos[3],degrees)+(Pos[5] - Pos[1])*floatcos(Pos[3],degrees));
    GetVehicleModelInfo(GetVehicleModel(vID), VEHICLE_MODEL_INFO_SIZE, Pos[0],Pos[1],Pos[2]);
    if(Pos[3] <= 0 && Pos[6] <= Pos[0]/2 && Pos[6] >= -Pos[0]/2)
    {
    SendClientMessage(playerid,GRUEN,"Dahinter!");
    return 1;
    }
    else
    {
    SendClientMessage(playerid,ROT,"Nicht dahinter!");
    return 1;
    }
    Jedoch ist es jetzt so dass es zwar funktioniert wenn man dahinter steht, aber auch wenn man egal wie weit dahinter steht.
    Ich will ja, dass es nur funktioniert wenn man 1 Meter oder so dahinter steht.


    Was müsste ich dafür ändern?

  • Das kann ich dir so nicht direkt sagen, aber ich kann dir sagen wie du es besser machen kannst:


    GetPosVorVeh(vID, -5.0, x, y, z);
    if(IsPlayerInRangeOfPoint(playerid, 2.0, x, y, z);


    Mit:
    stock GetPosVorVeh(vehicleid, Float:dist, &Float:x, &Float:y, &Float:z) //©Jeffry
    {
    new Float:a;
    GetVehicleZAngle(vehicleid, a);
    GetVehiclePos(vehicleid, x, y, z);
    x += (dist * floatsin(-a, degrees));
    y += (dist * floatcos(-a, degrees));
    return true;
    }


    Das wäre nun: 5 Meter hinter der Mitte der vehicleid (also der hintere Teil, je nach dem wie groß das Fahrzeug ist), und da muss der Spieler in zwei Meter Umkreis drin sein.

  • Hi, hab ein problem bei OnPlayerKeyStateChange.


    #define PRESSED(%0) \ (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))


    if(adruecken[playerid] == true && PRESSED(KEY_FIRE))


    C:\Users\Eddy\Desktop\GTA\GTA - Selfmade\gamemodes\NLG.pwn(1200) : error 029: invalid expression, assumed zero
    C:\Users\Eddy\Desktop\GTA\GTA - Selfmade\gamemodes\NLG.pwn(1200) : warning 215: expression has no effect
    C:\Users\Eddy\Desktop\GTA\GTA - Selfmade\gamemodes\NLG.pwn(1200) : error 001: expected token: ";", but found ")"
    C:\Users\Eddy\Desktop\GTA\GTA - Selfmade\gamemodes\NLG.pwn(1200) : error 029: invalid expression, assumed zero
    C:\Users\Eddy\Desktop\GTA\GTA - Selfmade\gamemodes\NLG.pwn(1200) : fatal error 107: too many error messages on one line


    Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    4 Errors.

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen