Dank dir Goldkiller weiß ich nun was schief läuft, aber nicht warum. Bei /veh setzt er automatisch eine 0 an, ebenso bei /skin.
Sprich wenn ich schreibe /veh 462 0 0, kommt im Script an: /veh 0 462 0 0.
Dank dir Goldkiller weiß ich nun was schief läuft, aber nicht warum. Bei /veh setzt er automatisch eine 0 an, ebenso bei /skin.
Sprich wenn ich schreibe /veh 462 0 0, kommt im Script an: /veh 0 462 0 0.
Alles anzeigen
dcmd_setskin(playerid,params[])
{
if(Player[playerid][admin] < 1){
return SendClientMessage (playerid,WEIS,"SERVER: Unknown command.");
}
new pID,skinid;
if(sscanf(params,"ud",pID,skinid)){
return SendClientMessage(playerid,WEIS,"Usage: /setskin [playerid] [skinID 0-299!]");
}
if(!IsPlayerConnected(pID)){
return SendClientMessage(playerid,WEIS,"Nobody is connected with this ID!");
}
if(skinid < 0){
return SendClientMessage(playerid,WEIS,"INVALID ID!");
}
if(skinid > 299){
return SendClientMessage(playerid,WEIS,"INVALID ID!");
}
new string[128],string2[128],aname[MAX_PLAYER_NAME],name[MAX_PLAYER_NAME];
SetPlayerSkin(pID,skinid);
GetPlayerName(playerid,aname,sizeof(aname));
GetPlayerName(pID,name,sizeof(name));
format(string,sizeof(string),"You have set the SkinID of %s to %d",name,skinid);
format(string2,sizeof(string2),"Admin %s has set your SkinID to %d",aname,skinid);
SendClientMessage(playerid,GRÜN,string);
SendClientMessage(pID,GRÜN,string2);
return 1;
}
Entweder so und so..
dcmd_vehicle(playerid,params[])
{
if(Player[playerid][admin] < 1){
return SendClientMessage (playerid,WEIS,"SERVER: Unknown command.");
}
new veh,color1,color2;
if(sscanf(params,"ddd",veh,color1,color2)){
return SendClientMessage(playerid,WEIS,"Usage: /vehicle [vehicleID] [color1] [color2]");
}
if(veh < 400){
return SendClientMessage(playerid,WEIS,"INVALID vehID![400-611]");
}
if(veh > 611){
return SendClientMessage(playerid,WEIS,"INVALID vehID![400-611]");
}
if(color1 < 0){
return SendClientMessage(playerid,WEIS,"INVALID color1ID![0-126]");
}
if(color1 > 126){
return SendClientMessage(playerid,WEIS,"INVALID color1ID![0-126]");
}
if(color2 < 0){
return SendClientMessage(playerid,WEIS,"INVALID color2ID![0-126]");
}
if(color2 > 126){
return SendClientMessage(playerid,WEIS,"INVALID color2ID![0-126]");
}
new Float:x , Float:y , Float: z, Car;
GetPlayerPos(playerid,x,y,z);
Car = CreateVehicle(veh, x, y, z, 0, color1, color2, 123456789);
SetPlayerPos(playerid,x,y,z);
SetVehiclePos(veh,x,y,z);
PutPlayerInVehicle(playerid, Car, 0);
return 1;
}
MFG.
Schwachsinn die Abfragen sind nicht nötig. Wenns die nich gibt kann ers nich machen, wenns die gibt macht ers aber auch....normal xD
@hp: halt ich für unwahrscheinlich da i wie d ein integer ist , aber ich versuchs.
edit: wie ich sagte bringt nix.
Nein, gar nichts. Script = Fehlerfrei, Ingame = Fehler. Bzw Setskin setzt den Skin direkt auf 0, sei die ID die ich angebe 34, 54 oder 299. bei /veh passiert erst garnix.
Und zwar hab ich folgendes Problem. DCMD Commands OHNE Parameter funzen, die mit nicht.
Die CMDs wären:
dcmd_skin(playerid, params[])
{
new s;
if(sscanf(params, "d", s))
{
return SendClientMessage(playerid, rot, "Benutzung: /skin SkinID");
}
SetPlayerSkin(playerid, s);
return 1;
}
dcmd_veh(playerid, params[])
{
new v, c1, c2;
if(sscanf(params, "ddd", v, c1, c2))
{
return SendClientMessage(playerid, rot, "Benutzung: /veh FahrzeugID, Farbe, Farbe");
}
GetPlayerPos(playerid, x,y, z);
GetPlayerFacingAngle(playerid, r);
CreateVehicle(v, x, y, z, r, c1, c2, 1);
PutPlayerInVehicle(playerid, v, 1);
return 1;
}
Ein Kumpel hat den Error auch net gefunden.
Alles anzeigenoder auch :
if(GetPlayerMoney(playerid) < 2000) return SendClientMessage(playerid,FARBE,"geh arbeiten!");
Also :
if(listitem == 1)
{
if(GetPlayerMoney(playerid) < 2000) return SendClientMessage(playerid,FARBE,"geh arbeiten!");
GivePlayerWeapon(playerid, 29,500);
GivePlayerMoney(playerid, -2000);
}
Da hat man am Ende nicht so einen Klammer Wald
Stimmt. Als ich das gemacht hab war ich noch mehr noob als jetz und habs seit dem nimme gebraucht und deshalb nich weiter nachgedacht.
Ich empfehle die Variante und nicht meine
Du brauchst die Zeilen wo das Geld abgezogen wird. EINE hab ich dir vorbereitet:
[pwnif(listitem == 1)
{
if(GetPlayerMoney(playerid) >= 2000)
{
GivePlayerWeapon(playerid, 29,500);
GivePlayerMoney(playerid, -2000);
}
}[/pwn]
if(GetPlayerMoney(playerid) >= 2000 überprüft hierbei, ob der Spieler der die Sache ausführt auch 2000$ oder mehr hat. Wenn ja, bekommt er die Waffe dazu und das Geld abgezogen.
Nun... Du hast 4 Argumente zu viel. Sprich 4 Stellen in der Klammer müssen weg.
brauchst wohl eine Mathenachhilfe? Nun gut.
X = Links, rechts. Y= Vor und Zurück (auf einer Karte oben und unten), Z = höhe (gibt es aber im 2D, wie ne Karte nicht )
Sprich nur X und Y. bzw. X1, X2. Man will ja eine Fläche und brauch mehr Eckpunkte.
In Extremo: DvD: Raue Spree
In Extremo Flames T-Shirt:
Ich kann se dir ja mal erklären.
C:\Users\Ey_havar\Desktop\Samp~~~Server\gamemodes\ServerMechanical.pwn(221) : error 001: expected token: ";", but found "return"
Er hat ein return gefunden, aber kein Semikolon ;
C:\Users\Ey_havar\Desktop\Samp~~~Server\gamemodes\ServerMechanical.pwn(233) : error 017: undefined symbol "Register"
Register war nicht definiert.
C:\Users\Ey_havar\Desktop\Samp~~~Server\gamemodes\ServerMechanical.pwn(246) : error 001: expected token: "-identifier-", but found "(*
Ok ka wie ich den erklären soll, hatte den selbst noch net
C:\Users\Ey_havar\Desktop\Samp~~~Server\gamemodes\ServerMechanical.pwn(250) : error 021: symbol already defined: "GetPlayerName"
GetPlayerName scheinst du irgentwo ein zweites mal definiert zu haben. Mag PAWN nicht, er will nur eine Definition.
C:\Users\Ey_havar\Desktop\Samp~~~Server\gamemodes\ServerMechanical.pwn(252) : error 021: symbol already defined: "dini_Create"
Siehe GetPlayerName. Nur hier wurde dini_Create ein zweites mal definiert.
C:\Users\Ey_havar\Desktop\Samp~~~Server\gamemodes\ServerMechanical.pwn(253) : error 021: symbol already defined: "dini_Set"
Und hier ist dini_Set ein zweites mal definiert.
C:\Users\Ey_havar\Desktop\Samp~~~Server\gamemodes\ServerMechanical.pwn(255) : error 010: invalid function or declaration
Den kann ich auch net so recht erklären. Er sagt afaik die Funktion gibt es nicht.
C:\Users\Ey_havar\Desktop\Samp~~~Server\gamemodes\ServerMechanical.pwn(260) : warning 203: symbol is never used: "Spielerdatei"
C:\Users\Ey_havar\Desktop\Samp~~~Server\gamemodes\ServerMechanical.pwn(260) : warning 203: symbol is never used: "name"
Die 2 holen wir jetzt auf einmal. Diese beiden Warnungen (nicht mit Error verwechseln) beschweren sich, dass du name und Spielerdatei nirgends im Script verwenden würdest.
Bisschen was helfen kann ich dir, aber nich bei allem, da ich selbst noch lerne.
Also wo fangen wir an...Tanken mit R festlegen geht schon, es muss nur eine andere Funktion auf R liegen (war im Car glaub Radiosender wechseln)
Für einen Großteil deiner CMDs wirst du sscanf benötigen (/givecash ID/Name Mänge; /vehicle ID color1 color2; /waffe ID/Name Waffenid Muni; usw.)
und der Teleportbefehl ist am einfachsten Du benötigst nur:
SetPlayerPos(playerid, X-Koordinate, Y-Koordinate, Z-Koordinate);
Map ham schon viele bewertet, da stimme ich den meisten auch zu
Beim Script stört es mich, dass man zwar für Geld kauft, aber endlos in die Schulden gehen kann. Sprich habe ich -4993$ kann ich weiter kaufen. Da könnte man noch ne Abfrage einbauen
Gefällt mir Mal was andres^^
9/10
Ich hab mich eben ran gesetzt und aus LW mal versucht die Tore zu scripten.
Alles was in der tore.rar war sollte mit /move auf gehen.
Hab atm GTA nicht da zum testen und es ist früh morgens. KA was ich da jetzt kaputt gemach hab, sollte es nich funzen^^
Pastebin: klick
Danke jetzt sieht die Sache anders aus. Ich wusste doch von anfang an dass nix andres Schuld sein kann
bringt nix
Das steht ganz oben wo ich die Include usw. einbinde.
dcmd_veh(playerid,params[])
{
if(IsPlayerAdmin(playerid))
{
new vID, cID1, cID2;
if(sscanf(params, "ddd", vID, cID1, cID2))
{
return SendClientMessage(playerid, rot, "USAGE: /veh [ID][Color1][Color2]");
}
if(vID >= 400 || vID <= 611)
{
GetPlayerPos(playerid, x, y, z);
CreateVehicle(vID, x, y, z, 0, cID1, cID2, 0);
SendClientMessage(playerid, gelb, "Auto erstellt.");
}
}
return 1;
}
Das ist unmöglich. Ansonsten geht alles Einwandfrei.
Mein /veh befehl beschwert sich halt nur wegen X, Y, Z.
und meinen ganzen /veh möchte ich nicht Posten.