GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Szkript kérések => A témát indította: Virgonc - 2012. június 16. - 10:00:50

Cím: Skin váltás
Írta: Virgonc - 2012. június 16. - 10:00:50
Csáó!
Én egy olyan scriptet vagy kódot szeretnék, amely skin-t vált, és ha meghal vagy újra spawnol a játékos akkor az maradjon meg neki. A szerveren nincs regisztrálás, simán belépsz, /skin 33, /kill, és utána is a 33-as marad.
Az én gondolatmenetem az volt, hogy ha meghal a játékos, akkor lekérje a skinid-t, és ha spawnol akkor pedig a lekért skinre állítsa be, de nem sikerült megvalósítani a tervemet... :S
Köszi elõre is!
Cím: Skin váltás
Írta: ZyZu. - 2012. június 16. - 10:11:43
Adok egy jobbat!
http://sampforum.hu/index.php?topic=21712.0
Cím: Skin váltás
Írta: instant - 2012. június 16. - 10:19:11
#include a_samp
#include zcmd
#include sscanf2
CMD:skin(playerid,params[])
{
new skinid;
if(sscanf(params,\"d\",skinid)) return SendClientMessage(playerid,-1,\"Használat : /skin [skinid]\");
if(skinid < 0 || skinid > 299) return SendClientMessage(playerid,-1,\"Csak 1-tõl és 299 közt vannak a skinek!\");
SetPlayerSkin(playerid,skinid);
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
SetPlayerSkin(GetPlayerSkin(playerid),skinid);
return 1;
}

 
Nem teszteltem!
Cím: Skin váltás
Írta: Flash - 2012. június 16. - 10:23:02
public OnPlayerDeath(playerid, killerid, reason)
{
SetPlayerSkin(GetPlayerSkin(playerid),skinid);
return 1;
}

 
Ez nem kell bele.
Cím: Skin váltás
Írta: Virgonc - 2012. június 16. - 11:47:47
Idézetet írta: ZyZu date=1339834303\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"22903\" data-ipsquote-contentclass=\"forums_Topic
Adok egy jobbat!
http://sampforum.hu/index.php?topic=21712.0
 
Nem pont ilyenre gondoltam, de azért kösz! (:

Dupla hozzászólás automatikusan összefûzve. ( 2012. június 16. - 11:49:35 )


 
#include a_samp
#include zcmd
#include sscanf2
CMD:skin(playerid,params[])
{
new skinid;
if(sscanf(params,\"d\",skinid)) return SendClientMessage(playerid,-1,\"Használat : /skin [skinid]\");
if(skinid < 0 || skinid > 299) return SendClientMessage(playerid,-1,\"Csak 1-tõl és 299 közt vannak a skinek!\");
SetPlayerSkin(playerid,skinid);
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
SetPlayerSkin(GetPlayerSkin(playerid),skinid);
return 1;
}

 
Nem teszteltem!
 
[/quote]
 
n(15) : error 017: undefined symbol \"skinid\"

 

Dupla hozzászólás automatikusan összefûzve. ( 2012. június 16. - 11:51:36 )


 
public OnPlayerDeath(playerid, killerid, reason)
{
SetPlayerSkin(GetPlayerSkin(playerid),skinid);
return 1;
}

 
Ez nem kell bele.
 
[/quote]
Így pedig halál után nem marad meg a skin. :S:S
Cím: Skin váltás
Írta: instant - 2012. június 16. - 11:56:10
próbáld meg hogy az onplayerdeath alá oda írod hogy new skinid;
Cím: Skin váltás
Írta: Virgonc - 2012. június 16. - 11:59:34
Idézetet írta: ZzzzzZ date=1339840570\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"22903\" data-ipsquote-contentclass=\"forums_Topic
próbáld meg hogy az onplayerdeath alá oda írod hogy new skinid;
 

g:\\SAMP Windows Server\\WARMODE\\TLG WARMOD\\Alap mode\\sskin\\sskin.pwn(14) : error 003: declaration of a local variable must appear in a compound block
g:\\SAMP Windows Server\\WARMODE\\TLG WARMOD\\Alap mode\\sskin\\sskin.pwn(14) : error 010: invalid function or declaration
g:\\SAMP Windows Server\\WARMODE\\TLG WARMOD\\Alap mode\\sskin\\sskin.pwn(17) : error 010: invalid function or declaration
Pawn compiler 3.2.3664           Copyright (c) 1997-2006, ITB CompuPhase
 
3 Errors.

 

Dupla hozzászólás automatikusan összefûzve. ( 2012. június 16. - 12:02:36 )

Sikerült megoldani h ne legyen benne hiba, de ha meghalok akkor nem marad a skin a beírt skin id-n ):
Cím: Skin váltás
Írta: Flash - 2012. június 16. - 13:42:13
#include a_samp
#include zcmd
#include sscanf2
new skinid;
CMD:skin(playerid,params[])
{
if(sscanf(params,\"d\",skinid)) return SendClientMessage(playerid,-1,\"Használat : /skin [skinid]\");
if(skinid < 0 || skinid > 299) return SendClientMessage(playerid,-1,\"Csak 1-tõl és 299 közt vannak a skinek!\");
SetPlayerSkin(playerid,skinid);
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
SetPlayerSkin(GetPlayerSkin(playerid),skinid);
return 1;
}
Cím: Skin váltás
Írta: ZyZu. - 2012. június 16. - 13:43:46
Én szerintem nem kell semmi a Death alá, meg kéne maradjon a skine..
Cím: Skin váltás
Írta: Erik3333 - 2012. június 16. - 13:51:03
#include <a_samp>
#include <zcmd>
#include <sscanf2>
CMD:skin(playerid,params[])
{
new skinid;
if(sscanf(params,\"d\",skinid)) return SendClientMessage(playerid,-1,\"Használat : /skin [skinid]\");
if(skinid < 0 || skinid > 299) return SendClientMessage(playerid,-1,\"Csak 1-tõl és 299 közt vannak a skinek!\");
SetPlayerSkin(playerid,skinid);
SetPVarInt(playerid, \"Skin\", skinid);
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
SetPlayerSkin(playerid, GetPVarInt(playerid, \"Skin\"));
return 1;
}
Cím: Skin váltás
Írta: Virgonc - 2012. június 16. - 14:13:03
:confused: :confused: :confused: :-[ :-[ :-[ :-[
egyik sem jó  :-[ :-[
Cím: Skin váltás
Írta: Sramm - 2012. június 16. - 16:55:41
new skinid[MAX_PLAYERS];
//MÓD ELEJE!!!!!!!!!!!!!!!!!!!!
stock sSetPlayerSkin(playerid,skinid)
{
SetPlayerSkin(playerid,skinid);
skinid[playerid] = skinid;
return 1;
}
#define SetPlayerSkin sSetPlayerSkin
//-----------------------------------------
public OnPlayerSpawn(playerid)
{
SetPlayerSkin(playerid,skinid[playerid]);
return 1;
}
CMD:skin(playerid,params[])
{
new skinid;
if(sscanf(params,\"d\",skinid)) return SendClientMessage(playerid,-1,\"Használat : /skin [skinid]\");
if(skinid < 0 || skinid > 299) return SendClientMessage(playerid,-1,\"Csak 1-tõl és 299 közt vannak   a skinek!\");
SetPlayerSkin(playerid,skinid);
return 1;
}

 
A halálnál válthatjátok a skint úgy is eltûnik xD
Itt ez amikor használod a SetPlayerSkin-t,  akkor menti egybõl, és spawnnál mindig azt hozza be :)
Cím: Skin váltás
Írta: CANNONN - 2012. június 16. - 21:29:08

#include a_samp
#include zcmd
#include sscanf
new skin[MAX_PLAYERS];
CMD:skin(playerid,params[])
{
if(sscanf(params,\"d\",skin[playerid])) return SendClientMessage(playerid,-1,\"Használat : /skin [skinid(0-299)]\");
if(skin[playerid] < 0 || skin[playerid] > 299) return SendClientMessage(playerid,-1,\"Csak 0 és 299 közötti id-vel rendelkezõ skinek vannak!\");
SetPlayerSkin(playerid,skin[playerid]);
return 1;
}
public OnPlayerSpawn(playerid) return SetPlayerSkin(playerid, skin[playerid]);
Cím: Skin váltás
Írta: Virgonc - 2012. június 17. - 09:22:24
Idézetet írta: Cannonn date=1339874948\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"22903\" data-ipsquote-contentclass=\"forums_Topic


#include a_samp
#include zcmd
#include sscanf
new skin[MAX_PLAYERS];
CMD:skin(playerid,params[])
{
if(sscanf(params,\"d\",skin[playerid])) return SendClientMessage(playerid,-1,\"Használat : /skin [skinid(0-299)]\");
if(skin[playerid] < 0 || skin[playerid] > 299) return SendClientMessage(playerid,-1,\"Csak 0 és 299 közötti id-vel rendelkezõ skinek vannak!\");
SetPlayerSkin(playerid,skin[playerid]);
return 1;
}
public OnPlayerSpawn(playerid) return SetPlayerSkin(playerid, skin[playerid]);

 


g:\\SAMP Windows Server\\WARMODE\\TLG WARMOD\\Alap mode\\skin.pwn(3) : fatal error 100: cannot read from file: \"sscanf\"
Compilation aborted.Pawn compiler 3.2.3664           Copyright (c) 1997-2006, ITB CompuPhase
 
1 Error.

 
Pedig máshol elfogadja a sscanf-t :S

Dupla hozzászólás automatikusan összefûzve. ( 2012. június 17. - 09:23:14 )


 
new skinid[MAX_PLAYERS];
//MÓD ELEJE!!!!!!!!!!!!!!!!!!!!
stock sSetPlayerSkin(playerid,skinid)
{
SetPlayerSkin(playerid,skinid);
skinid[playerid] = skinid;
return 1;
}
 
#define SetPlayerSkin sSetPlayerSkin
//-----------------------------------------
public OnPlayerSpawn(playerid)
{
SetPlayerSkin(playerid,skinid[playerid]);
return 1;
}
CMD:skin(playerid,params[])
{
new skinid;
if(sscanf(params,\"d\",skinid)) return SendClientMessage(playerid,-1,\"Használat : /skin [skinid]\");
if(skinid < 0 || skinid > 299) return SendClientMessage(playerid,-1,\"Csak 1-tõl és 299 közt vannak   a skinek!\");
SetPlayerSkin(playerid,skinid);
return 1;
}

 
A halálnál válthatjátok a skint úgy is eltûnik xD
Itt ez amikor használod a SetPlayerSkin-t,  akkor menti egybõl, és spawnnál mindig azt hozza be :)
 
[/quote]Ezt áttudnád írni ilylen fajtává?
   if (strcmp(cmdtext, \"/respawn\", true) == 0)
   {
       SpawnPlayer(playerid);
       SendClientMessage(playerid, COLOR_LIGHTBLUE, \"Respawnoltál! {ffffff}Rövidebb parancs: {00c0ff}/res{ffffff}!\");
       SetPlayerHealth(playerid, 100);
       return 1;
   }
Cím: Skin váltás
Írta: Gabor.. - 2012. június 17. - 09:47:28

#include <    a_samp   >
#include <    zcmd     >
#include <    sscanf2  >
 
CMD:skin( playerid, params[] )
{
    new
iSkinID,
szFormat[ 50 ];
if( sscanf( params, \"i\", iSkinID ) ) return SendClientMessage( playerid, 0xFF0000AA, \"Használat: /skin < Skin ID >\" );
if( iSkinID < 0 || iSkinID > 299 ) return SendClientMessage( playerid, 0xFF0000AA, \"HIBA: A Skin ID, csak 0 és 299 között lehet.\" );
SetPlayerSkin( playerid, iSkinID );
format( szFormat, sizeof( szFormat ), \"Átállítottad a skinedet. ID: %d\", iSkinID );
SendClientMessage( playerid, -1, szFormat );
return 1;
}
Cím: Skin váltás
Írta: Sramm - 2012. június 17. - 13:48:41
Virgonc, enyémnél nem kell átírni semmit, amikor megváltozik a skine, azt menti, és amíg nem változtatod meg újra úgy is marad :)
Cím: Skin váltás
Írta: Virgonc - 2012. június 23. - 17:52:05
Idézetet írta: Sramm date=1339933721\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"22903\" data-ipsquote-contentclass=\"forums_Topic
Virgonc, enyémnél nem kell átírni semmit, amikor megváltozik a skine, azt menti, és amíg nem változtatod meg újra úgy is marad :)
 
Arra gondoltam, hogy ne CMD:skin... stb legyen, hanem amit írtam példát! :D