Geil
Gab es zwar schon irgendwo ...
Aber sowas finde ich immer knorke:P
Bischen höher noch, aber sonst:
9 / 10
Evtl. paar mehr Effekte ...
Geil
Gab es zwar schon irgendwo ...
Aber sowas finde ich immer knorke:P
Bischen höher noch, aber sonst:
9 / 10
Evtl. paar mehr Effekte ...
Wenn du meinst ich kann damit was anfangen täuscht du dich & es 2x mal zu posten bringt auch nix.
Was soll es werden?
Ein Autohaus-System bzw. Spielerautos??
Zurzeit haste es so?
enum BLA
{
mod1
mod2
//...
mod17
};
new Spielerauto[Max_players][Bla];
??
public OnVehicleMod(playerid, vehicleid, componentid)
{
//so ... nun brauch man die variablen wo die drinn gespeichert werden sollen^^
//ich heme jeztt einfach SpielerAuto[playerid]^^
SpielerAuto[playerid][Tuning][GetVehicleComponentType(componentid)] = componentid;
return 1;
}
So wäre es aber buggy, mir fehlen ein paar angaben ...
Achja, der enum müsste so aussehen^^
enum sCar
{
Tuning[14]
};
new SpielerAuto[MAX_PLAYERS][sCar];
Versuch es damit:
ForceClassSelection(playerid);
Wie meinst du das?
Das er immer nach dem Tod in die ClassSelection kommt?
Oder das ebend nicht passiert, wenn man die F4 Taste gedückt hatte?
Wie möchtest du den die Array setzen?
bischen Quelltext bzw. Code wäre nicht schlecht.
Naja, der Fieltransfer port ist nicht offen ...
musst mal nach dem Filetransfer standart port suchen und im anschluss in den Firewall einstellungen freigeben^^
new Content[512];
mysql_query("SELECT * FROM `Tabelle`");
mysql_store_result();
if(mysql_num_rows())
{
while(mysql_fetch_row(Content))
{
//Jetzt sind die Daten in: Content enthalten ... am besten mit sscanf setzen.
}
}
mysql_free_result();
dann kann er auch den Spielerenum verwenden...
Man hat den ja die benötigten dinge.
Alter ... wieso immer so umständlich @Hauke, du siehst doch selber das die Vaiabeln nur Temporär sind.
die 3 Zeilen von mir reichen^^
Du darfst kein Integer für einen String benutzen...
Er sagt dir die mathematische Anordnung stimmt nicht überein ...
wäre genau das selbe als wolltest du ein 3 Seiten aufsatz auf ein Kassenbon schreiben xD
Also:
Oben bei deinem enum ist ja ...
pBannedVon
das muss so da stehen:
pBannedVon[MAX_PLAYER_NAME]
und pBannedWeil:
pBannedWeil[128]
Spieler[giveplayerid][pBanned] = 1;
format(Spieler[giveplayerid][pBannedVon],MAX_PLAYER_NAME,sendername);
format(Spieler[giveplayerid][pBannedWeil],128,result);
EDIT: >>>
tonyalva
er muss nicht, solange die Arrays die selbe größe besitzen kann er auch:
BLA = BLA;
Machen.
Wenn du kein Hitman - System bzw. *.txt datein auslesen kannst, lass es bleiben ...
http://wiki.sa-mp.com/wiki/File_Functions
Ps: Ein Selfmade wäre da nicht angebracht.
nicht 4.0 sondern vorallem 1.1 und 3.5 <<<
Net Framework installiert? ( 1.1 - 4.0 durch installieren)
vServer? oder Detected Server?
Windows root/vserver?
ocmd:pay(playerid,params[])
{
new pID,Money;
if(!sscanf(params,"ud",pID,Money))
{
if(Money < 0 || Money > 2000)
{
SendClientMessage(playerid,ROT,"Nur von $0 bis $2000");
return 1;
}
if(Money > GetPlayerMoney(playerid))
{
SendClientMessage(playerid,ROT,"Du hast nicht so viel Geld!");
return 1;
}
if(IsPlayerConnected(pID))
{
if(ProxDetectorS(5.0,playerid,pID))
{
GivePlayerMoney(playerid,-Money);
GivePlayerMoney(pID,Money);
}
else
{
SendClientMessage(playerid,ROT,"Spieler zu weit weg!");
}
}
else
{
SendClientMessage(playerid,ROT,"gewählter spieler nicht verbunden.");
}
}
else
{
SendClientMessage(playerid,ROT,"Fehler! '/Pay [Playerid/Name] [Geld]'");
}
return 1;
}
Edit: Fehler entdeckt
if(GetPlayerMoney(playerid) < gID)
{
SendClientMessage(playerid,0xffffff,"Bla du hast nicht genügend geld bla ....");
return 1;
}
Naja das muss vor dem geben des geldes und abziehen xD
MfG Kevin
achja die abfrage nicht vergessen:
if(gID < 0 || gID > 2000) return SendClientMessage(playerid,0xffffff,"nur von 1 - 2000");
Wenn ein Spieler aussteigt wird das aufgerufen:
public OnPayerExitVehicle(playerid, vehicleid)
{
return 1;
}
Meine Prognose:
INSERT 36 MS
UPDATE 16 MS
Durchschnitt bei einer 10000 schleife
Du hast Für jede(n) Variable,Integer ein weiteren Update ...
Bei dem Raven's Roleplay sind das 229 Variablen & integer's die gespeichert werden...
((229*16)*100)/1000 = 366,4 Sekunden! Sind über 5Minuten die er nur mit dem Speichern braucht ...Deshlab die Laggs
Ich würde an deiner (eurer) stelle das Speichern über 4 Große Strings machen!
((4*16)*100)/1000 = 6,4 Sekunden, die merkt man schon fast gar nicht mehr ... am besten ist es allerdings über ein riesen string ... wäre dann knapp über 1 Sekunde ...
Ist zwar viel fummel kram ...
Beispiel:
new Querys[8][256],MasterQuery[2222];
format(Querys[0],256,"`Level`='%d',`Adminlevel`='%d'",
PlayerInfo[playerid][pLevel],
PlayerInfo[playerid][pAdmin]
);
format(Querys[1],256,"`MarriedTo`='%s',`/*Weiter :D*/`='/*huhu*/'",
PlayerInfo[playerid][pMarriedTo],
/*PlayerInfo[playerid][...]*/
);
format(Querys[2],256,"");
format(Querys[3],256,"");
format(Querys[4],256,"");
format(Querys[5],256,"");
format(Querys[6],256,"");
format(Querys[7],256,"");
format(MasterQuery,sizeof(MasterQuery),"UPDATE `Accounts` SET %s,%s,%s,%s,%s,%s,%s,%s WHERE `Spielername`=%s",Querys[0],Querys[1],Querys[2],Querys[3],Querys[4],Querys[5],Querys[6],Querys[7],ReturnPlayerName(playerid));
Hinten und vorne bei den 'Querys[x]' kein komma!