Moin,
ich hab gerade mal aus Langeweile ein Mietroller System gemacht. Bitte nicht allzu hart bewerten, ist mein erster Release & ich bin und war müde
Pastebin: http://pastebin.com/YsgwbQU6
Viel Spaß damit und gute Nacht
Moin,
ich hab gerade mal aus Langeweile ein Mietroller System gemacht. Bitte nicht allzu hart bewerten, ist mein erster Release & ich bin und war müde
Pastebin: http://pastebin.com/YsgwbQU6
Viel Spaß damit und gute Nacht
Gar nicht mal so schlecht, vor allem für Anfänger die das selber nicht hinkriegen
8/10 weil es nichts besonderes ist
Leider kann ich dazu sehr wenig sagen, naja was ich aber sagen kann, es ist nicht gerade nötig bzw. nützlich.
Arbeite das nächste mal mit switch und case, gewöhns dir einfach an. Nun wenn du schon sowas machst, dann erstell dir Roller nur nach gebrauch bzw. Anfrage, und nicht von Anfang an. Außerdem arbeitest du da etwas hmm
=>
new string[200], roller[5], vehicleid, mietroller;
Auch CreateVehicle kannst du in einem enum abkürzen.
globale Definition
#define Preis 150
GivePlayerMoney(playerid,-Preis);
Damit du es nicht immer suche musst, was der Roller kosten soll.
DestroyVehicle(roller[0]);
....
for Schleife?
Nun wenn du schon sowas aus langeweile in die Welt setzt, dann bitte nicht so schlampig. gehört außerdem eher in Codeschnipsel.
Ich mach dann mal dort weiter,wo Deuce aufgehört hat.
Da sind noch mehr Dinge,die nicht korrekt sind.Langeweile hin oder her, wer soll von falschem Code lernen ?
new mietroller;
SetPVarInt(playerid,"Mietroller",mietroller);
Z.26-27
Wozu ist die Variable gut ?
format(string,sizeof(string),"Du hast den Roller erfolgreich gemietet!");
SendClientMessage(playerid,weiß,string);
Z.28-29
Wozu formatierst du ? Da dort keine Platzhalter sind,kannst es auch direkt in die ClientMessage schreiben und sparst a) die Funktion format und b) das Array string.
#include <sscanf2>
Z.5
Du benutzt kein sscanf. Was ist wenn ich die Include nicht habe und sie trotzdem gesucht wird ? Es gibt einen Fehler, obwohl die Datei sowieso nicht gebraucht wird.
Das Mieten funktioniert doch sowieso nicht.Wo wird dort der Spieler als Besitzer festgelegt ?
Solltest du formatieren wollen, eventuell nächste Version kannst du es dir leichter machen.
#define formatedmessage(%0,%1,%2) do{new _string[128]; format(_string,sizeof(_string),%1,%2); SendClientMessageToAll(%0,_string);} while(FALSE)
formatedmessage(Farbe, "Blabla ID : %d",vehicleid);
Global definieren und es leichter Verwenden. Somit nimmst du wenigstens nur einen Code in anspruch und nicht gleich mehrere, die wie auch o.g zu nichts nützlich sind.
Und wenn du schon sscanf verwendest, dann bitte gescheid.
Naja nix Besonderes aber für die Mühe 7/10
mfg
Danke für eure Kritik. Ich überarbeite dass einmal
//edit: Ist zwar immer noch ein Codeschnipsel, aber hier etwas verbessert - allerdings kann jeder den gemieteten Roller benutzen Kann ja jeder nach Wunsch verändern
//Mietroller Filterscript von NiLsx3 aka [SaL]Easy (c)2012
#include <a_samp>
#include <ocmd>
#define weiß 0xFFFFFFAA
new string[256];
new mietroller;
public OnFilterScriptInit()
{
CreatePickup(1239,1,1561.0819,-2334.9595,13.1431,0);
Create3DTextLabel("/rollermieten",0xFF8C00FF,1561.0819,-2334.9595,13.1431,15.0,0,1);
print("\nMietroller System geladen! Viel Spaß damit!\n");
return 1;
}
ocmd:rollermieten(playerid, params[])
{
if(GetPVarInt(playerid,"Roller") == 0)
{
SetPVarInt(playerid,"Mietroller",1);
SetPVarInt(playerid,"Roller",1);
format(string,sizeof(string),"Du hast den Roller erfolgreich gemietet!");
SendClientMessage(playerid,weiß,string);
GivePlayerMoney(playerid,-150);
mietroller=CreateVehicle(462,1560.7780,-2331.8801,13.1417,96.7936,1,1,-1);
return 1;
}
SendClientMessage(playerid,weiß,"Du hast bereits einen Mietroller!");
return 1;
}
ocmd:rollerentmieten(playerid,params[])
{
if(GetPVarInt(playerid,"Mietroller") != 1) return SendClientMessage(playerid,weiß,"Du hast keinen Roller gemietet!");
SendClientMessage(playerid,weiß,"Du hast deinen Roller entmietet!");
SetPVarInt(playerid,"Mietroller",0);
DestroyVehicle(mietroller);
SetPVarInt(playerid,"Roller",0);
return 1;
}
ocmd:rollerport(playerid,params[])
{
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,weiß,"Dieser Command ist nur für RCON Admins.");
SetPlayerPos(playerid,1561.0819,-2334.9595,13.1431);
return 1;
}
Help C:\Users\xXx\Desktop\Streets of Gangs\filterscripts\roller.pwn(21) : error 032: array index out of bounds (variable "roller")
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
1 Error.
Zeilen?
new string[256];
new roller[7];
public OnFilterScriptInit()
{
roller[1] = CreateVehicle(462,809.0234,-1355.2197,13.1416,0.0612,0,0,-1);
roller[2] = CreateVehicle(462,811.4476,-1355.2308,13.1408,1.4090,1,1,-1);
roller[3] = CreateVehicle(462,813.3122,-1355.1873,13.1393,359.2857,2,2,-1);
roller[4] = CreateVehicle(462,815.2267,-1355.1611,13.1401,356.5142,3,3,-1);
roller[5] = CreateVehicle(462,816.9099,-1355.1403,13.1392,356.4056,4,4,-1);
roller[6] = CreateVehicle(462,818.7502,-1355.2039,13.1391,355.2290,5,5,-1);
roller[7] = CreateVehicle(462,820.8056,-1355.2079,13.1393,356.9412,6,6,-1);
print("\nMietroller System geladen!\n");
return 1;
}
das geht von 0-6 nicht von 1-7
das geht von 0-6 nicht von 1-7
Ups Dankee D:
Wo ist der Verleih ?
Am Los Santos Flughafen
Ok danke
Du kannst dich da als RCON aber auch mit /rollerport hin porten
Einfach Geil ! 10/10