new Float:X1
Beiträge von T4125Gamer
-
-
Error oder Warning?
Zeig mal
-
Zitat von Techno4Live
new grund [128];
steht die 128 für die anschläge also
wenn ich jetzt [3]
dahinter setzen würde könnte ich nur hey oderso als grund schreiben (nur beispiel)Die Zahl hinter dem Variablennamen sagt, wie viele Dimensionen die Variable hat -
hier 128.Bei Pawn benötigt jede Ziffer eine Dimension,
du kannst also einen Text von max. 128 Zeichen in deiner Beispiels variable speichern. -
-
mit ocmd geht das einfacher.
ocmd:kick(playerid,params[])
{
new pID;
new grund[128];
new text[128];
if(sscanf(params,"us",pID,grund))return SendClientMessage(playerid,FARBE,"/kick [id] [grund]");
if(pID==playerid)return SendClientMessage(playerid,FARBE,"Du kannst dich nicht selber kicken");
format(text,sizeof(text),"AdmCmd: %s wurde von %s gekickt. Grund: %s",SpielerName(pID),SpielerName(playerid),grund);
SendClientMessageToAll(FARBE,text);
Kick(pID);
return 1;
}So würde ich das machen.
Zitat von Techno4Livenew und dann was genau?
So wie ich das gemacht habe, new pID (der User der dann letztendlich gekickt wird). Dann brauchst du natürlich auch noch den Grund, das hab ich mit new grund[128] gemacht.
Das new text[128] ist deswegen da, weil ich mit format die SendClientMessage geschrieben habe, und dann via text in der SendClientMessage ausgeben kann.
Siehe: SendClientMessageToAll(FARBE,text); -
du musst new Definierung für den Player der gekickt werden soll machen. Und mach das lieber mit ocmd
-
Zitat
return print("Das Haus wurde erfolgreich geladen");
return DestroyPickup(HausInfo[hausid][haus_pickup]);
zweimal returnen ist ja klar das er den Code nicht erreichen kann.
stock LoadHaus(hausid)
{
new pfad[50];
format(pfad,50,"/haus/%d.txt",hausid);
if(!fexist(pfad))return 0;
HausInfo[hausid][haus_x] = dini_Float(pfad,"x");
HausInfo[hausid][haus_y] = dini_Float(pfad,"y");
HausInfo[hausid][haus_z] = dini_Float(pfad,"z");
HausInfo[hausid][haus_preis] = dini_Int(pfad,"preis");
HausInfo[hausid][haus_innenraum] = dini_Int(pfad,"innenraum");
format(HausInfo[hausid][haus_besitzer],32,"%s",dini_Get(pfad,"besitzer"));
HausInfo[hausid][haus_pickup] = CreatePickup(1273 ,23,HausInfo[hausid][haus_x],HausInfo[hausid][haus_y],HausInfo[hausid][haus_z],0);
new s[128];//Zeile 344
format(s,128,"****Haus****\nBesitzer: %s\nPreis: %d$",HausInfo[hausid][haus_besitzer],HausInfo[hausid][haus_preis]);
HausInfo[hausid][haus_label] = Create3DTextLabel(s,0xFF00FF,HausInfo[hausid][haus_x],HausInfo[hausid][haus_y],HausInfo[hausid][haus_z],20,0,1);
return print("Das Haus wurde erfolgreich geladen");
}stock KillHaus(hausid)
{
DestroyPickup(HausInfo[hausid][haus_pickup]);
Delete3DTextLabel(HausInfo[hausid][haus_label]);//Zeile 353
return 1;
}so klappt es
-
1.
Zitatenum_SpielerAdmin
{
pAdminlevel,
pAdminDuty
}zu
enum SpielerAdmin
{
pAdminlevel,
pAdminDuty
};2. hast du sscanf überhaupt includiert?
-
Du machst einfach unter OnPlayerKeyStateChange die Abfrage, ob er gerade STRG drückt (STRG Taste Links = KEY_ACTION )
Also Sprich
if (newkeys == KEY_ACTION)
Und darunter dann das wie bei /motor -
Zitat von Arendium
Warum immer dieser Stock es geht doch auch ein Enum/String der es beim Disconnecten/Connecten zwischenspeichert
Weil ich stocks mag.
if(strcmp(cmdtext, "/tanken", true) == 0)
{
else if (GetPlayerVehicleSeat(playerid) != 0) return SendClientMessage(playerid,COLOR_RED,"Du bist in keinem Fahrzeug (oder kein Fahrer).");
new car = GetPlayerVehicleID(playerid);
else if (TanktGerade[car]) return SendClientMessage(playerid,COLOR_RED,"Du tankst schon!");
else if (Motor[car] == true) return SendClientMessage(playerid,COLOR_RED,"Du musst vor dem Tanken den Motor ausschalten.");
new ZuTanken = 100-Tank[car];
new preis = ZuTanken * BENZINPREIS;
if (GetPlayerMoney(playerid)-preis < 0) return SendClientMessage(playerid,COLOR_TOMATO,"Du hast nicht genug Geld!");
GivePlayerMoney(playerid, -preis);
SendClientMessage(playerid, COLOR_GREEN, "Tanken wird gestartet.");
SetCameraBehindPlayer(playerid);
TogglePlayerControllable(playerid,0);
TanktGerade[car] = true;
tanktimer[playerid] = SetTimerEx("Auftanken",500,true,"i",playerid);
return 1;
}Dann machst du halt den Befehl wieder rein, und schaust was jetzt ist
-
stock SpielerName(playerid)
{
new name[MAX_PLAYERS];
GetPlayerName(playerid,name,sizeof(name));
return name;
}Zitaterror 017: undefined symbol "SpielerName"
1. Den Stock einfach ins Script2. so sollte es gehen
if(strcmp(cmdtext, "/tanken", true) == 0)
{
if (GetPlayerVehicleSeat(playerid) != 0) return SendClientMessage(playerid,DUNKELROT,"Du bist in keinem Fahrzeug oder du bist kein Fahrer.");//Zeile 176
new car = GetPlayerVehicleID(playerid);
if (TanktGerade[car]) return SendClientMessage(playerid,HELLBLAU,"Du tankst bereits !");
else if (Motor[car] == true) return SendClientMessage(playerid,HELLBLAU,"Du musst vor dem Tanken den Motor ausschalten.");
new ZuTanken = 100-Tank[car];
new preis = ZuTanken * BENZINPREIS;
if (GetPlayerMoney(playerid)-preis < 0) return SendClientMessage(playerid,HELLBLAU,"Du hast nicht genug Geld um zu Tanken !");
GivePlayerMoney(playerid, -preis);
SendClientMessage(playerid,HELLBLAU, "Das Tanken wird gestartet.");
SetCameraBehindPlayer(playerid);
TogglePlayerControllable(playerid,0);
TanktGerade[car] = true;
tanktimer[playerid] = SetTimerEx("Auftanken",500,true,"i",playerid);
return 1;
} -
if (strcmp("/Pdt",cmdtext, true,10) == 0)
{
if(gTeam[playerid] == TEAM_COP)
{
MoveObject(pdtuer,244.3699951,72.6800003,1003.8400269,2);
}
else
{
SendClientMessage(playerid,ROT,"Du bist kein Cop!");
}
return 1;
}
if (strcmp("/Pdz",cmdtext, true,10) == 0)
{
if(gTeam[playerid] == TEAM_COP)
{
MoveObject(pdtuer,246.3600006,72.6699982,1003.8400269,2);//pdtürzu
}
else
{
SendClientMessage(playerid,ROT,"Du bist kein Ccp!");
}
return 1;
}Wegen den ganzen Returns
-
Neuesten Server Ordner Downloaden, die sachen vom alten Ordner in den neuen (Filterscripts, Gamemode, Plugins, Scriptfiles), und das Script einmal Compilen
-
Ja, dann kommt das dahin wo die Zahlen jetzt sind, z. B. DIALOG_IRGENDWAS
-
if(strcmp(cmdtext,"/work",true)==0)
{
if(skin == 0)
{
ShowPlayerDialog(playerid,66,DIALOG_STYLE_LIST,"why work that not","please help","ok","oke");
} //By the 66 you need the Dialog where you Define
else if(skin == 29)
{
ShowPlayerDialog(playerid,77,DIALOG_STYLE_LIST,"not working","why?","ok","OK");
} //Same here
else
{
SendClientMessage(playerid,BLAU,"why?");
}
}if(strcmp(cmdtext,"/job",true)==0)
{
if(GetPlayerSkin(playerid)==29)return ShowPlayerDialog(playerid,66,DIALOG_STYLE_LIST,"why work that not","please help","ok","oke");
//Same here
else if(GetPlayerSkin(playerid)==0)return ShowPlayerDialog(playerid,77,DIALOG_STYLE_LIST,"not working","why?","ok","OK");
//Same here
return 1;
}Ok edit zu spät gelesen
-
-
if (strcmp("/check", cmdtext, true, 10) == 0)
{
if(IsPlayerInRangeOfPoint(playerid,10,1129.1315,-1489.7450,22.7690))
{
SendClientMessage(playerid,weis,"ja du bist am noobspawn");
}
else
{
SendClientMessage(playerid,rot,"Nein , du bist nicht am noobspawn");
} return 1;
}
So, du hast bei IsPlayerInRangeOfPoint die zweite Klammer am Schluss vergessen -
Problem wurde gelöst
-
Zeilen?
-
Zitat
Welches hast du den Benutzt ?
R5, R6 und zu guter letzt R7. Wenn du weiter vorne gelesen hättest, dann wüstest du das.