Objekt 1
Das ist 3x das Objekt mit der modelid: 19425
Objekt 2
Das ist das Objekt mit der modelid: 19467
mfg. ![]()
Objekt 1
Das ist 3x das Objekt mit der modelid: 19425
Objekt 2
Das ist das Objekt mit der modelid: 19467
mfg. ![]()
if((x==o&&o==GetMaxPlayers()))break;
Diese Zeile...ist unnötig ![]()
Du hast doch schon im Schleifen Kopf definiert, dass x != o sein soll, wie soll dann in der Schleife x==o sein? ![]()
Zudem ist doch o = GetMaxPlayers()...hast du doch schon oben festgelegt..wieso fragst du das nochmal ab?! ![]()
Wie war das nochmal mögllich, Funktionen eine unbestimmte Anzahl an Parametern zu übergeben?
Durch:
stock test(...)
{
}
//Und wenn du auch Floats und Parameter mit anderen TAGs übergeben willst:
stock test({Float, _}:...)
{
}
mfg. ![]()
Etwa so ?
...ja compile kurz..und gehts? ![]()
Hast du zufällig einen neuen Grafikkarten Treiber installiert? ![]()
Wenn ja, nimm eine ältere Version davon...kann gut sein, dass das dadurch hervorgerufen wird ![]()
mfg. ![]()
Ne Funktion ist weder Float noch sonst irgendwas.
Doch natürlich...man kann Funktionen mit einem TAG ausstatten.
Einen Stock muss man doch nicht forwarden
Wenn eine Funktion mit einem TAG ausgestattet ist, muss man sie entweder forwarden oder über den Code schreiben, wo man sie verwendet, damit der Präprozessor weiß um welchen TAG es sich handelt ![]()
Fehlermeldung :
Also, schreib das Float wieder hin, das ist schon richtig so und mach eins von den genannten Alternativen ![]()
mfg. ![]()
Ich glaube der Grund-Gedanke ist noch nicht optimal dahinter ![]()
Alles anzeigenif(strval(res) == 1){
format(string,sizeof(string),"%s0",strval(money));
GivePlayerMoneyEx(id,strval(string));
}
if(strval(res) == 2){
GivePlayerMoneyEx(id,strval(money));
}
}else{
format(string,sizeof(string),"%s00",strval(money));
GivePlayerMoneyEx(id,strval(string));
}
Du gibst dem Spieler das selbe Geld, egal ob er 5,00 oder 0,50 eingibt ![]()
Zudem ist %s und strval falsch, da das ja ein Integer ist und kein String ![]()
Weiterhin muss es überall strval(res) heißen...weil ja bei money noch überall das , drinnen ist und auch sonst wenig Sinn macht ![]()
Du solltest dir das nochmal anders überlegen ![]()
mfg. ![]()
Hat super geklappt
Du solltest nur das Include einfügen und das Plugin...
Wenn du andere Streamer hast, diese natürlich entfernen.
Und wenn solche Fehler auftreten, liegt das nicht an der Include..sondern an deinem rumgescripte ![]()
Nun ist die frage, wie finde ich heraus ob überhaupt ein wheelman als fahrer in einem wheelman car drinne sitzt?
Hier die kleine nützliche Funktion:
stock VehicleDriver(vehicleid)
{
for(new i; i<MAX_PLAYERS; i++)
{
if(GetPlayerState(i) != PLAYER_STATE_DRIVER) continue;
if(IsPlayerInVehicle(i,vehicleid)) return 1;
}
return 0;
}
Das gibt dir zurück ob sich in dem Fahrzeug ein Fahrer befindet oder nicht ![]()
mfg. ![]()
Meinst du sowas:
//Natürlich unter OnDialogResponse
new level,geld;
if(sscanf(inputtext,"dd",level,geld))
/*
Input dazu wäre:
5 1000
jetzt hätte man Level 5 und 1000$
*/
mfg. ![]()
Einfach diesen Streamer nehmen: http://forum.sa-mp.com/showthread.php?t=102865
und alle Objekte (außer Böden..oder sonst was) mit CreateDynamicObject erstellen und auch z.B. MoveDynamicObject / SetDynamicObjectRot...etc verwenden ![]()
PS: Einiger deiner Punkte machen keinen Sinn oder sind Blödsinn ![]()
mfg. ![]()
Kenne ich keinen jetzt so direkt, aber probier mal die: 1134...vielleicht passt das ja ![]()
mfg. ![]()
Hier mal ein kleines System:
new bool:find[MAX_PLAYERS char];
ocmd:find(playerid,params[])
{
if(find{playerid}) return SendClientMessage(playerid,-1,"Du suchst bereits eine Person, verwende: /findstop");
if(!params[0] || params[0] == ' ') return SendClientMessage(playerid,-1,"Verwendung: /find [spielerid]");
new pID = strval(params);
if(!IsPlayerConnected(pID)) return SendClientMessage(playerid,-1,"Ein Spieler mit dieser ID ist nicht online!");
return find{playerid}=true,@finder(playerid,pID);
}
ocmd:findstop(playerid)
{
if(find{playerid}) return DisablePlayerCheckpoint(playerid),find{playerid}=false;
return SendClientMessage(playerid,-1,"Sie suchen niemanden!");
}
@finder(x,y);@finder(x,y) {
if(!IsPlayerConnected(x) || !find{x}) return find{x}=false,0;
if(!IsPlayerConnected(y)) return find{x}=false,DisablePlayerCheckpoint(x);
new Float:p[3];
GetPlayerPos(y,p[0],p[1],p[2]),SetPlayerCheckpoint(x,p[0],p[1],p[2],4.0);
return SetTimerEx("@find",999,0,"ii",x,y);
}
public OnPlayerEnterCheckpoint(playerid)
{
if(find{playerid}) DisablePlayerCheckpoint(playerid),find{playerid}=false;
return 1;
}
mfg. ![]()
Man kann durch einen kleinen Trick die Raketen deaktivieren und zwar so:
public OnPlayerKeyStateChange(playerid,newkeys,oldkeys) {
if (newkeys & KEY_ACTION && GetVehicleModel(GetPlayerVehicleID(playerid))==520){
TogglePlayerControllable(playerid,0);
SetTimerEx("@re",1000,false,"i",playerid);
return 0;
}
return 1;
}
@re(x);@re(x) return TogglePlayerControllable(x,1);
So kann man nicht mehr schießen ![]()
mfg. ![]()
Kenne ich nicht so so. :o
Seit dem du nicht mehr die Funktion in deinem Skript nutzt, sondern das Plugin ![]()
mfg. ![]()
if(sscanf(params,"uis",pID,Warn,Grund))
Diese Zeile ändern zu:
if(sscanf(params,"uis[32]",pID,Warn,Grund))
mfg. ![]()
Eigentlich nicht nein...
man könnte ein sehr Aufwändiges System schreiben, wo der Motor aus ist und man das Fahrzeug nur über SetVehicleVelocity steuert..aber das sähe ziemlich unreal aus ![]()
Insofern...schalt einfach den Ton von GTA bei dir aus ![]()
mfg. ![]()
//Allein schon in der Pawno IDE wird es falsch angezeigt
Ja...weil es falsch Konvertiert ist ![]()
Pack das mal in Notepad++ und konvertiere es auf UTF-8 ![]()