[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

  • new bool:goto[MAX_PLAYERS];



    dcmd_goto(playerid,params[]) {
    if(!strlen(params)) {
    return SendClientMessage(playerid,COLOR_RED,"USAGE: /goto [playerid]");
    }
    new
    pID=strval(params);
    if(!IsPlayerConnected(pID)) {
    return SendClientMessage(playerid,COLOR_RED,"Kein Spieler mit angegebener ID Online");
    }
    if(goto[pID] == false)return SendClientMessage(playerid, COLOR_RED, "Info: Du kannst dich nicht zu diesem Spieler teleportieren");
    new Float:x, Float:y, Float:z;
    GetPlayerPos(pID, x, y, z);
    SetPlayerPos(playerid, x, y, z);
    SendClientMessage(playerid, COLOR_YELLOW, "Erfolgreich teleportiert");
    new name[MAX_PLAYER_NAME], string[44];
    GetPlayerName(playerid, name, sizeof(name));
    format(string, sizeof(string), "%s hat sich zu dir teleportiert.",name);
    SendClientMessage(pID,COLOR_YELLOW, string);
    return 1;
    }


    dcmd_gotooff(playerid, params[])
    {
    #pragma unused params
    if(goto[playerid] == false)
    {
    goto[playerid] = true;
    SendClientMessage(playerid, COLOR_GREEN, "Info: Es kann sich nun niemand mehr zu dir Teleportieren");
    return true;
    }
    }


    dcmd_gotoon(playerid, params[])
    {
    #pragma unused params
    if(goto[playerid] == true)
    {
    goto[playerid] = false;
    SendClientMessage(playerid, COLOR_GREEN, "Info: Es kann sich nun wieder zu dir hin teleportiert werden");
    return true;
    }
    }

    RFT

  • ich würde , wenn du bei dcmd paramäter brauchst sscanf benutzen
    http://forum.sa-mp.com/showthread.php?t=120356
    new bool:gotoallow[MAX_PLAYERS];//ganz oben


    dcmd_gotooff(playerid,params)
    {
    gotoallow[playerid]=true;
    return 1;
    }


    dcmd_gotoon(playerid,params)
    {
    gotoallow[playerid]=false;
    return 1;
    }


    dcmd_goto(playerid,params[])
    {
    new pID;
    if(sscanf(params,"u",pID)) return SendClientMessage(playerid,COLOR_YELLOW,"Benutzung /goto [id]");
    if(gotoallow[pID]==true) return SendClientMessage(playerid,COLOR_RED,"Du darfst dich nicht zu dem Spieler porten");
    new Float:p_x,Float:p_y,Float:p_z;
    GetPlayerPos(pid,p_x,p_y,p_z);
    SetPlayerPos(playerid,p_x,p_y,p_z);
    return 1;
    }


    edit: diesmal war rft schneller ... aja ist nicht ein bool automatisch auf false ?

  • Alle Variablen, die du erstellst sind 0, es sei denn du erstellst sie so: new x = y; oder new bool:x = true;

  • Hi,
    Wie mache ich es das der LogText nicht nebeneinander sondern untereinander gespeichert wird?


    stock KickLog(text[])
    {
    new log[256],File:hFile;
    new Tag,Monat,Jahr,Stunde,Minute,Sekunde;
    GetDatum(Tag,Monat,Jahr,Stunde,Minute,Sekunde);
    format(log,sizeof(log),"\n[%d]:[%d]:[%d] [%d]/[%d]/[%d] %s\n",Tag,Monat,Jahr,Stunde,Minute,Sekunde,text);
    hFile=fopen("kick.log",io_append);
    fwrite(hFile,log);
    fclose(hFile);
    }


    ? Pls helft mir^^

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Jetzt mal ne richtig dumme Frage von mir: Was ist ProxDedector? Ich les es öfters in Scripten, habe es aber in den SA-MP Includes nicht gefunden und auch mit der SuFu finde ich nichts. Und ne Definition hab ich auch noch nie gesehn.
    V1rus

  • Ist halt je näher am Ziel, desto intensiver wird die Farbe

  • Heyho :)



    [...]
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(GetDistanceBetweenPlayers(playerid,i) <= 7)
    {
    GameTextForPlayer(i,"~n~~n~~n~~n~~n~~r~BOOOOOM!",2500,3);
    SetPlayerHealth(i,0);
    }
    }
    }
    [...]


    stock Float:GetDistanceBetweenPlayers(p1,p2)
    {
    new Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2;
    if(!IsPlayerConnected(p1) || !IsPlayerConnected(p2))
    {
    return -1.00;
    }
    GetPlayerPos(p1,x1,y1,z1);
    GetPlayerPos(p2,x2,y2,z2);
    return floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2));
    }


    warning 208: function with tag result used before definition, forcing reparse


    Was stimmt ned? ?(

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