Kommt darauf an, was du machen willst, aber ich glaube in deinem Fall benötigst du keine natives sondern einfach nur simple Variablen ! ![]()
mfg. ![]()
Kommt darauf an, was du machen willst, aber ich glaube in deinem Fall benötigst du keine natives sondern einfach nur simple Variablen ! ![]()
mfg. ![]()
Mal ein Tipp, bin gerade zu faul sowas zu schreiben:
Ihr müsst die Sachen über die vehicleid speichern und mit ein paar Variablen ist das ganz schnell erledigt ![]()
mfg. ![]()
Setze den Timer unter OnPlayerConnect und schreibe das so:
//Unter OnPlayerConnect
SetTimerEx("OnPlayerEnterVehiclePickup", 1000, 1, "i", playerid);
mfg. ![]()
Alles anzeigenDein Public "GetSpielerName" kannst du einfach entfernen. Diese Funktion ersetzen wir mit der Funktion/Stock GetSpielerName, da ein Public unnötig ist.
Diese Funktion fügst du nun in dein Script ein.
stock GetSpielerName(playerid)
{
new pName[MAX_PLAYER_NAME];
GetPlayerName(playerid, pName, MAX_PLAYER_NAME);
return pName;
}
Nun sollten die Namen richtig angezeigt werden. Dein Login/Register System kann mit deiner alten Funktion gar nicht funktioniert haben.
Ehm...Ich hatte den stock schon gepostet du Spammer ![]()
Ich denke mal da du ein GF benutzt, existiert bereits eine for-Schleife, ändere playerid in i ![]()
also so:
if(PlayerInfo[i][pLevel] == 1)
{
bonus = 3200;
}
mfg.^^
Du musst den stock ganz unten in dein Script einfügen, sodass es in keinem Callback (public) steht !
mfg. ![]()
Ich habe aber ein GF und wenn ich das playerid nicht definiere gehts nicht
Ja sage mal, kannst du lesen oder willst du mich hier verarschen ![]()
Lies es nochmal und frag google, was das genau ist:
und playerid, deklariert man nicht mit new playerid....entweder du nutzt es als Parameter oder du musst eine for/while Schleife machen !
mfg. ![]()
Ja ich habe in GF aber mann muss noch playerid definieren // Kaliber muss davor noch ein ! ???
Du hast doch meinen Code gesehen, mach das einfach so und nimm diese >= raus, das ist quatsch !
und playerid, deklariert man nicht mit new playerid....entweder du nutzt es als Parameter oder du musst eine for/while Schleife machen !
mfg. ![]()
Alles Geklappt aber ich ill es ingame nicht bonus nennen hat jmd ein Vorschlag wie man es nennt
Gehalt ?
Lohn ?
mfg. ![]()
@PuSchKiiN_x3
Das ist Blödsinn mit deinen returns, damit beendest du die if-Abfrage und nur 1x = ist auch falsch und 2 Klammern am ende auch !
Wenn, dann so:
if(strcmp(cmd,"/bonus",true)==0)
{
if(!IsPlayerConnected(playerid)) return 1;
if(SpielerInfo[playerid][pLevel] == 1)
{
GivePlayerMoney(playerid,3200);
}
else if(SpielerInfo[playerid][pLevel] == 2)
{
GivePlayerMoney(playerid,3800);
}
else if(SpielerInfo[playerid][pLevel] == 3)
{
GivePlayerMoney(playerid,4400);
}
else if(SpielerInfo[playerid][pLevel] == 4)
{
GivePlayerMoney(playerid,5200);
}
else if(SpielerInfo[playerid][pLevel] == 5)
{
GivePlayerMoney(playerid,5800);
}
return 1;
}
Du musst natürlich deins löschen ![]()
Kann ich das da genau hinfügen oder muss ich dafür ne eigene function/stock erstellen
Kannst das direkt einfügen...
mfg. ![]()
Schreibe die Abfrage mal so:
stock GetPlayerName(playerid)
{
new name[24];
GetPlayerName(playerid, name, 24);
return name;
}
mfg. ![]()
So:
new bonus = 0;
if(GetPlayerLevel(playerid) == 1)
{
bonus = 3200;
}
else if(GetPlayerLevel(playerid) == 2)
{
bonus = 3800;
}
else if(GetPlayerLevel(playerid) == 3)
//usw...
mfg. ![]()
if(strcmp(cmd, "/chat", true) == 0)
{
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result)) return SendClientMessage(playerid, rot, "Verwendung: /chat[text]");
new string[128];
format(string, 128,"SERVER: %s",result);
SendClientMessageToAll(rot, string);
return 1;
}
mfg. ![]()
Wenn du ocmd nutzt, dann so:
ocmd:chat(playerid, params[])
{
new text[64], string[128];
if(sscanf(params,"s",text)) return SendClientMessage(playerid,rot,"Verwendung: /Chat [text]");
format(string,128,"SERVER: %s",text);
SendClientMessageToAll(rot, string);
return 1;
}
mfg. ![]()
Hast du den Ordner "Accounts" in den scriptfiles angelegt ?
mfg. ![]()
Der Befehl ist ja mal Schwachsinn ![]()
Schreibe den so:
CMD:ban(playerid, params[])
{
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,COLOR_RED,"Du bist kein Admin !");//Das ist jetzt rcon; ersetze es
new pID, reason[64], string[128], name[24], name1[24];
if(sscanf(params,"us",pID,reason)) return SendClientMessage(playerid,COLOR_RED,"Verwendung: /ban [playerid] [Grund]");
if(!IsPlayerConnected(pID)) return SendClientMessage(playerid,COLOR_RED,"Dieser Spieler ist nicht online !");
if(pID == playerid) return SendClientMessage(playerid,COLOR_RED,"Du kannst dich nicht selber bannen !");
GetPlayerName(playerid, name, 24);
GetPlayerName(pID, name1, 24);
PlayerInfo[pID][pBanned] = 1;
format(string, 128,"Admin %s hat Spieler %s gebannt ! Grund: %s",name,name1,reason);
SendClientMessage(playerid,COLOR_RED,string);
Ban(pID);
return 1;
}
mfg. ![]()
Ja weil das die Standart map ist.
Das ist was anderes
Ja ![]()
Schau doch aufs Bild, seine Objekte werden alle gestreamt, aber der Boden (die Standartmap) ist unsichtbar ![]()
mfg. ![]()
Alles anzeigenDarum sind die ja auch interiorunabhägig
Ursachen können sein:
- das Objekt ist in bestimmten Winkeln der Kamera nicht sichtbar
- das Objekt ist in SA:MP nicht sichtbar
- das Objekt ist zu hoch
Aber es ist ja allgemein nicht da, deswegen tipp ich ehr auf eins oder zwei
Du Irrst, geh mal nach San Fierro und setz mal deinen Interior auf 1 und die wirst nur 1/4 der Map sehen ![]()
mfg. ![]()
Objekte sind Interior unabhängig, sofern sie nicht von einem Streamer erstellt werden.
Ja, deshalb sieht er ja auch seine Objekte, aber er redet von der Rest Map und die sieht man wenn man in einem Interior > 0 ist teilweise nicht ![]()
mfg. ![]()